我被困在使用Flag活动清除顶部用法中。这给我带来了一个巨大的问题。有时它起作用,有时却不起作用。我不重要。这真的让我感到困惑。请帮忙

在这里,我从Login Acitivy-> Activity A-> Activity B-> InviteGroupViaPinEmailActivity->中单击按钮,打开警报对话框,然后按此对话框的Exit按钮,调用以下代码。

   Intent userMenu = new Intent(InviteGroupViaPinEmailActivity.this,LoginActivity.class);
                                                       userMenu.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                                                userMenu.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
                                                startActivity(userMenu);
                                                finish();


有一段时间,它会出现在LoginActivity上,但是当我按回所有活动时,再次出现活动B->活动A,然后最终将其退出。

有什么问题。请帮助我。

最佳答案

我认为您在进入LoginActivity-> Activity A时完成了Login Acitivity。当您使用clear top标志时,您的Login Activity应该在您的堆栈中还活着。请确保您尚未完成登录活动。

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            Log.e("onkeyDown>>>>", "Called>>>>>");
            finish();
        }
        return super.onKeyDown(keyCode, event);
    }

10-08 18:19