清除后台堆栈中的所有活动

时间:2014-10-27 20:40:47

标签: java android android-activity activity-stack

我有这个堆栈:

登录活动 - >注册活动

成功注册后,我称之为:

Intent i = new Intent(getApplicationContext(),Home.class);
i.addFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK );
startActivity(i);
finish();

这完成了我的注册活动但不是我的登录活动,所以我的堆栈保持这样:

登录活动 - >家庭活动

有什么建议吗?

3 个答案:

答案 0 :(得分:0)

清除堆栈顶部的活动,

Intent i = new Intent(getApplicationContext(), Home.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.putExtra("EXIT", true);
startActivity(i);
finish();

答案 1 :(得分:0)

好吧,我最终使用了这个答案

Clear the entire history stack and start a new activity on Android

这正是我想做的事情

答案 2 :(得分:0)

有意地使用它以清除回溯活动

  

Java

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

科特林

 var intent = Intent(this, [Your_activity]:class.java)
        intent.flags =  Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
        startActivity(intent)