从堆栈中清除Launcher活动

时间:2015-04-01 03:34:26

标签: android

在我的应用中,我有活动A(启动/主要活动),B,C。 A启动B或C,具体取决于用户是否经过身份验证。

现在我如何删除A,以便在按下后退按钮时退出应用程序,而不是退出A.设置标记FLAG_ACTIVITY_CLEAR_TOP似乎不起作用。

@Override
public void onBackPressed{
    super.onBackPressed();
    finish(); // finish activity B or C

    //also finish activity A
}

1 个答案:

答案 0 :(得分:4)

我认为你需要设置

android:noHistory="true"
在A.上你可能还需要使用这些Flags启动B / C:

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);    

最后,您可以通过调用:

完成具有相同亲和力的任务堆栈中当前活动的所有活动
finishAffinity()

有关详情:Android: Clear the back stack