我有2个活动,通常我打开活动A然后打开活动B.
如果用户点击通知并且应用程序根本没有运行,则B首先打开。然而,当用户单击up / actionbackHome按钮时,用户应该被带回A.我通过覆盖up / actionbarHome按钮并启动活动A并在B上调用finish来完成此操作。这样就好像用户点击它们一样正常退出应用程序。
问题是在此之后,当用户从任务管理器中选择此任务时,活动B将打开。在这种情况下,如何确保活动A打开?
修改
所以我认为问题在于,当我通过通知打开应用程序后存在应用程序时,应用程序仍然在任务管理器中。因此,如果我通过任务管理器进入应用程序,它将以与通知相同的方式启动它。如何阻止此行为?
答案 0 :(得分:0)
尝试以下
清除后台并返回A
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
public void onBackPressed() {
Intent myIntent = new Intent(B.this,A.class);
myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//clear top of stack.
startActivity(myIntent);
finish();
return;
}