0

我有 2 个活动,通常我打开活动 A,然后打开活动 B。

如果用户单击通知并且应用程序根本没有运行,则 B 首先打开。但是,当用户单击 up/actionbackHome 按钮时,用户应该被带回 A。我通过覆盖 up/actionbarHome 按钮并启动活动 A 并在 B 上调用完成来做到这一点。这工作得很好,就像用户点击他们一样正常退出应用程序。

之后的问题是,当用户从任务管理器中选择此任务时,活动 B 打开。在这种情况下,如何确保活动 A 打开?

编辑

所以我认为问题是当我通过通知打开应用程序后存在应用程序时,该应用程序仍在任务管理器中。因此,如果我通过任务管理器进入应用程序,它会以与通知相同的方式启动它。我该如何阻止这种行为?

4

1 回答 1

0

试试下面

清空backstack并返回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;
}
于 2013-04-04T13:53:09.470 回答