应用程序有这样的流程:
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(),那么所有活动都将被关闭。
答案 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