在我的Android应用程序中,我写了一个下面的代码来清除活动的堆栈,但是这段代码不起作用,所以我请求你为我提供工作片段。
Intent intent = new Intent(UserProfile.this, Login.class)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
startActivity(intent);
感谢你
答案 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。