完成所有活动但保留第一个
Finish all activities but keep the first
该应用有以下流程:
1) 主页 -> Activity A -> Activity B -> Activity C -> Activity A -> Activity B -> Activity C -> 等等
2) 主页 -> Activity C -> Activity B -> Activity C -> Activity A -> Activity B -> Activity C -> 等等
3) 主页 -> Activity D -> Activity B -> Activity C -> Activity A -> Activity B -> Activity C -> 等等
Activity B 有一个按钮,必须关闭除主页和第一个 Activity 之外的所有活动。最好的方法是什么?
如果我给 A、B 和 C 相同的 taskAffinity 并使用 finishAffinity(),那么所有活动都将关闭。
试试这个,也就是说,如果你想关闭除 MainActivity 之外的所有 Activity 并从此打开其他 Activity。
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
只需在开始简单后使用 finishAffinity() activity
Activity.finishAffinity() vs Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK
该应用有以下流程:
1) 主页 -> Activity A -> Activity B -> Activity C -> Activity A -> Activity B -> Activity C -> 等等
2) 主页 -> Activity C -> Activity B -> Activity C -> Activity A -> Activity B -> Activity C -> 等等
3) 主页 -> Activity D -> Activity B -> Activity C -> Activity A -> Activity B -> Activity C -> 等等
Activity B 有一个按钮,必须关闭除主页和第一个 Activity 之外的所有活动。最好的方法是什么?
如果我给 A、B 和 C 相同的 taskAffinity 并使用 finishAffinity(),那么所有活动都将关闭。
试试这个,也就是说,如果你想关闭除 MainActivity 之外的所有 Activity 并从此打开其他 Activity。
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
只需在开始简单后使用 finishAffinity() activity
Activity.finishAffinity() vs Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK