如何隨時隨地退出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()方法




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章