先定義乙個類(這裡名字任意,先取名為back)
成員屬性:public static listlist=new arraylist<>();
成員方法:1>public static void addactivity(activity activity)
2>public static void removeactivity(acitivity activity)
3>public static void removeallactivity() }
然後寫乙個基類,繼承activity
在oncreate方法裡面加上back.addactivity(this);
在ondestroy方法裡面加上back.removeactivity(this);
然後再建立的activity都繼承這個基類,每個activity都會繼承父類的oncreate方法和ondestroy方法(在父類那邊寫的好處就是不用每個activity按返回時呼叫finish())
當某個activity裡需要一鍵返回時,可以給該activity裡的指定控制項新增乙個事件,事件裡面直接呼叫back.removeallactivity();
思路可以理解為,每個activity建立的時候都是繼承基類的,基類的oncreate和ondestroy方法也是繼承的,每當activity建立了,就會新增到back的list集合裡面,而每當activity返回時,則從list集合裡面移除掉,最後一鍵返回桌面時,呼叫back的removeallactivity方法,則把list裡存放的activity全部finish掉。
個人覺得其實就是把最後一鍵返回中的每個activity.finish()簡寫了吧
也可以在基類的oncreate方法裡面寫乙個初始化的方法,然後在子類可以直接重寫這個初始化的方法而不用寫oncreate方法,因為已經繼承了基類的oncreate方法,只用載入下布局就ok了
Activity一鍵退出
private static stackmactivitystack 單一例項 新增activity到堆疊 public void addactivity activity activity mactivitystack.add activity 獲取棧頂activity 堆疊中最後乙個壓入的 pu...
android一鍵退出整個APP
androidmanifest.xml private listactivities new linkedlist public void exit activity null activities.remove i i 在我的專案中,我的所有activity均是繼承了baseactivity,所有...
一鍵退出應用程式
使用 單例模式建立乙個activity管理物件,該物件中有乙個activity容器 具體實現自己處理,使用linkedlist等 專門負責儲存新開啟的每乙個activity 1 建立乙個baseactivity繼承activity,程式中的activity繼承baseactivity。3 儲存每乙個...