如何隨時隨地退出Activity,在退出Activity的時候關閉之前的Activity,如何退出程式所有Activity
阿新 • • 發佈:2019-01-31
這是一個基礎的問題,沒什麼難度,只是一個小的邏輯的問題的實現。為了以後有需要方便,儲存下來。新學習的同學可以參考下。
首先,在寫專案的時候一般我們會寫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()方法