从历史记录中删除“开始”活动

时间:2011-04-26 13:20:28

标签: android

  

可能重复:
  Removing an activity from the history stack

我正在寻找从历史堆栈中删除StartActivity的解决方案。 StartActivity是在开始时启动的。我正在使用此类检查一些用户值,并希望将用户重定向到MainActivity,如果一切正确的话。

我试图设置一个标志:

addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

但是这不应该做到。

App starts -> StartActivity -> MainActivity -> PRESS back -> the app should end

它确实:

App starts -> StartActivity -> MainActivity -> PRESS back -> StartActivity

感谢您的帮助!

编辑:这是我用来启动MainActivity的代码:

Intent i = new Intent(context, DashBoardActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);

2 个答案:

答案 0 :(得分:15)

启动MainActivity后,您只需致电finish()即可。

Intent i = new Intent(context, DashBoardActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();

答案 1 :(得分:9)

启动StartActivity时,应使用FLAG_ACTIVITY_NO_HISTORY来实现所描述的行为。

如果您在AndroidManifest.xml中将noHistory属性设置为true,则可能会达到同样效果。