- 通常情況用戶退出一個 Activity 只需按返回鍵,我們寫代碼想退出 activity 直接調(diào)用 finish() 方法就行.
- 發(fā)送特定廣播: 在需要結(jié)束應(yīng)用時, 發(fā)送一個特定的廣播, 每個 Activity 收到廣播后, 關(guān)閉即可.
//給某個 activity 注冊接受接受廣播的意圖 registerReceiver(receiver, filter)
//如果接受到的是 關(guān)閉 activity 的廣播 activity finish()掉
- 遞歸退出 就調(diào)用 finish()方法 把當前的在打開新的 Activity 時使用 startActivityForResult, 然后自己加標志, 在 onActivityResult 中處理, 遞歸關(guān)閉.
- 其實也可以通過 intent 的 flag 來實現(xiàn) intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)激活一個新的 activity。 此時如果該任務(wù)棧中已經(jīng)有該 Activity, 那么系統(tǒng)會把這個 Activity 上面的所有 Activity 干掉. 其實相當于給 Activity 配置的啟動模式為 SingleTop.
- 記錄打開的 Activity: 每打開一個 Activity, 就記錄下來. 在需要退出時, 關(guān)閉每一個 Activity
List<Activity> lists;
lists = new ArrayList<Activity>;
lists.add(this);
for(Activity activity: lists) {
activity.finish();
}
lists.remove(this);
更多建議: