2015-04-01 53 views
0

在我的应用程序中,我有活动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 
} 

回答

3

我认为你需要设置

android:noHistory="true" 
上A.

您可能还需要启动B/C具有这些标志:

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

最后,你可以完成所有活动在当前任务堆栈下以相同的亲和力通过调用:

finishAffinity() 

欲了解更多信息:Android: Clear the back stack

+0

ah'android:noHistory =“true”'做了tnx工作 – Jan 2015-04-01 03:57:21