1. 程式人生 > >如何隨時隨地退出Activity,在退出Activity的時候關閉之前的Activity,如何退出程式所有Activity

如何隨時隨地退出Activity,在退出Activity的時候關閉之前的Activity,如何退出程式所有Activity

這是一個基礎的問題,沒什麼難度,只是一個小的邏輯的問題的實現。為了以後有需要方便,儲存下來。新學習的同學可以參考下。

首先,在寫專案的時候一般我們會寫BaseActivity,這個類 繼承Activity其他Activity繼承BaseActivity。

所以,思路就是  我們寫一個ActivityCollector  這樣一個類用來新增和移除 Activity ,每一個activity都繼承BaseActivity  所以我們可以再BaseActivity的onCreate方法中把當前

Activity新增到集合中,  執行OnDestory的時候我們在移除,這樣我們最後一個介面的的時候可以移除這個集合裡所有的activity這樣就不會有開啟一個activity的時候 在退出時,要一個一個退出了。

ActivityCollector類的實現

這個類就三個方法 ,相信大家都能看懂 不解釋


BaseActivity的實現  一個簡單的DEMO 沒有其他的邏輯的實現

這樣子類繼承這個類的時候 就會 執行新增 和 finsh 當前Activity了,從而就把activity管理起來了


三個測試的Activity    邏輯是分別 繼承BaseActivity   然後MainActivity 裡面一個按鈕來開啟SecoundActivity    然後SecoundActivity開啟第三個Atcivity,  第三個Activity裡面有一個按鈕 是用來實現關閉所有的,這時候就可以呼叫ActivityCollector 的finshAll()方法