我有时会启用我的应用的服务,有时会向用户发送主要活动提示Dialog
消息,
在用户回答“是”之后\“我没有呼叫finish()
关闭应用程序。
我的问题是,当消息显示时,用户回答它并且应用程序呼叫finish()
当您查看之前播放的recent history
时(例如,在三星中按下长按主页按钮) )您将看到我的应用程序以及用户启动的其他应用程序。
当你再次按下它时Dialog
再次显示..
如何在不显示Dialog
public void dialog_1(){
myDialogViewN = new MyDialogViewNegativeTime(MainActivity.this);
// Setting vibrator
vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
long[] pattern= {100, 1000};
vibrator.vibrate( pattern,0 );
// Setting 2 Dialog Listeners
myDialogViewN.setOnDialogListener(new DialogListener() {
@Override
public void onNegativeClick()
{
// Stopping Vibraror
if (vibrator.hasVibrator()){
vibrator.cancel();
vibrator = null;
}
initialize_DialogToUser(); /// ??
SendDataToService(3); //doesn't want reminder
myDialogViewN.dismissDialog();
waitForDialogAnswer=false;
finish();
}
@Override
public void onPositiveClick()
{
// Stopping Vibrator
if (vibrator.hasVibrator()){
vibrator.cancel();
vibrator = null;
}
initialize_DialogToUser();
SendDataToService(1); //remind!
myDialogViewN.dismissDialog();
squre.setImageResource(R.drawable.triangle_red2);
waitForDialogAnswer=false;
finish();
} });
myDialogViewN.show();
}
@Override public void onDestroy() { super.onDestroy(); // close/stop running application on background int id= android.os.Process.myPid(); android.os.Process.killProcess(id); }
答案 0 :(得分:0)
最后我找到了解决方案, 问题是当你从历史记录打开应用程序时 - 服务到你的活动的最后一个意图停留在那里而不是去,相反,通过点击它自己的图标打开应用程序。 (不同的开放方式)。
从intent
发送2 service
到activity
,
第一个 - 用你真正需要的东西。
第二次 - 在您收到服务中的答案后。 在第二个你不会放任何数据! 这只是改变历史 - 应用程序开放方式中“卡住”意图的意图。
maby它是愚蠢的,但它是我找到的唯一解决方案:)