完成所有活动但保留第一个

时间:2017-09-15 10:30:53

标签: android taskaffinity

应用程序有这样的流程:

1)主页 - >活动A - >活动B - >活动C - >活动A - >活动B - >活动C - >等

2)主页 - >活动C - >活动B - >活动C - >活动A - >活动B - >活动C - >等

3)主页 - >活动D - >活动B - >活动C - >活动A - >活动B - >活动C - >等

活动B有一个按钮,必须关闭除Home和第一个Activity之外的所有活动。最好的方法是什么?

如果我将相同的taskAffinity给予A,B和C并使用finishAffinity(),那么所有活动都将被关闭。

2 个答案:

答案 0 :(得分:2)

试试这个,即如果你想关闭除MainActivity之外的所有活动并从中打开otherActivity。

Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |  Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);

答案 1 :(得分:0)

启动简单活动后,只需使用 finishAffinity()

Activity.finishAffinity() vs Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK

https://stackoverflow.com/a/33517795/5069323