Android应用堆栈未清除

时间:2012-09-07 07:36:08

标签: android android-intent

在我的Android应用程序中,我写了一个下面的代码来清除活动的堆栈,但是这段代码不起作用,所以我请求你为我提供工作片段。

Intent intent = new Intent(UserProfile.this, Login.class)
        .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
startActivity(intent);

感谢你

3 个答案:

答案 0 :(得分:0)

在API级别11中添加了新的Intent Flag:Intent.FLAG_ACTIVITY_CLEAR_TASK尝试此标记。示例:

Intent intent = new Intent(UserProfile.this, Login.class)
        .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
finish();
startActivity(intent);

答案 1 :(得分:0)

您可以使用ActivityName.this.finish()。

 Intent intent = new Intent(UserProfile.this, Login.class)
        .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
  YourActivityName.this.finish();

答案 2 :(得分:0)

如果当前活动为A并且您想要启动B活动,同时C和D在后台暂停,则FLAG_ACTIVITY_CLEAR_TOP将完成C和D但不完成A.

有一种解决方法可以让你完成一项活动。创建一个“静态”处理程序,可以在A活动中接收消息时执行finish(),然后在B活动开始时使用静态处理程序从A执行sendMessage。