Android 五種退出應用的方法

2021-08-20 09:03:59 字數 2202 閱讀 5128

一.使用rxbus監聽:

原理:在baseactivity 中都初始化rxbus,同時監聽某種事件,當接收到這個事件的時候,就finish();————>其實就是類似廣播監聽事件

**:

ublic class

baseactivity3

extends

//接收退出的指令,關閉所有activity

private

void

initrxbus() ,

error->;

}@override

protected

void

ondestroy()

}}...

public

class

event

rxbus 進行單例

public

class

rxbus

/*** 單例模式rxbus**

@return

*/ public

static

rxbus getinstance

() }}

return

rxbus2;

}/**

* 傳送訊息**

@param

object

*/public

void

post

(object object)

/*** 接收訊息**

@param

eventtype

*@param

*@return

*/ public

observabletoobserverable

(classeventtype)

}

最後在使用的時候呼叫:

rxbus.getinstance().post(new

event

());

二.容器式
原理: 建立乙個單例容器,裡面有activity棧stack stack;並建立add,remove,finishall 方法

在 baseactivty oncreat 的時候執行add,ondestroy 執行remove ;在我們需要的時候執行finishall 方法

三.廣播式
原理:在baseactivity中**註冊廣播接受者,需要的時候傳送乙個廣播

public

class

baseactivity2

extends

@override protected

void

ondestroy()

class

exitreceiver

extends

broadcastreceiver

}}

singletask 方法
原理:將mainactivity 設定成singletask,根據activity的啟動特性,singtask 的mainactivity只要一出現,就沒有其他的activity存在了,所以在mainactivity退出即可

singletask 改進版

依然設定mainactivity的啟動方式

android:

launchmode="singletask"

重寫onnewintent()

@override

protected

void

onnewintent

(intent intent) } }

}

不管以什麼方式啟動的mainactivity ,都會呼叫onnewintent 方法,所以我們使用

intent intent = new

intent(this

,mainactivity.class

); intent.putextra(mainactivity.tag_exit, true

); startactivity(intent);

Android退出應用的方式

思路有這麼幾種 1.把啟動的activity都放入乙個棧中,當要退出應用的時候遍歷關閉 2.廣播方式,基類的activity中新增廣播接收器,接收到廣播就關閉activity,其他activity繼承這個activity,關閉時傳送廣播 3.廣播 singletask mainactivity啟動模...

Android應用中五種常用的menu

android menu在手機的應用中起著導航的作用,作者總結了5種常用的menu。前段時間比較流行,我最早是在海豚瀏覽器中看到的,當時耳目一新。最早使用左右推出選單的,聽說是facebook,我不確定訊息的真實性。左右推出選單如圖,為什叫path選單呢,因為我是最早在path應用中看到的,這裡也不...

Android應用程式完全退出

使用單例模式建立乙個 activity 管理物件,該物件中有乙個 activity 容器 具體實現自己處理,使用 linkedlist 等 專門負責儲存新開啟的每乙個 activity 並且容易理解 易於操作,非常不錯!類 儲存每乙個 activity 並實現關閉所有 activity 的操作 1 ...