Activity一鍵退出的簡單實現

2021-07-22 06:49:14 字數 925 閱讀 1231

先定義乙個類(這裡名字任意,先取名為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 儲存每乙個...