欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

獲取Activity棧,判斷當(dāng)前Activity位置的方法

 更新時(shí)間:2018年03月22日 11:16:45   作者:ffengz  
下面小編就為大家分享一篇獲取Activity棧,判斷當(dāng)前Activity位置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

需求

需要在整個(gè)app全局能夠彈出彈框,接收到廣播即進(jìn)行處理。

但是,BaseActivity派生出N個(gè)Activity,BaseActivity中的廣播就會(huì)執(zhí)行N次,導(dǎo)致彈框重復(fù)添加,所有在廣播中判定,只有在棧頂?shù)腁ctivity才能處理廣播消息。

實(shí)現(xiàn)

獲取任務(wù)棧

必須添加權(quán)限:

<!--獲取Activity任務(wù)棧 權(quán)限-->
<uses-permission android:name="android.permission.GET_TASKS" />

具體實(shí)現(xiàn),獲取棧以及其中內(nèi)容:

// 獲取activity任務(wù)棧
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
ActivityManager.RunningTaskInfo info = manager.getRunningTasks(1).get(0);

// 類(lèi)名 .ui.mobile.activity.WebsiteLoginActivity
String shortClassName = info.topActivity.getShortClassName(); 

// 完整類(lèi)名 com.haofang.testapp.ui.mobile.activity.WebsiteLoginActivity
String className = info.topActivity.getClassName(); 

// 包名 com.haofang.testapp
String packageName = info.topActivity.getPackageName(); 

當(dāng)前Activity的包名和全名:

// 包名 com.haofang.testapp
BaseActivity.this.getPackageName()
// 類(lèi)名 ui.main.MainActivity
BaseActivity.this.getLocalClassName()

之后進(jìn)行對(duì)比,即可在非目標(biāo)Activity避開(kāi)處理

以上這篇獲取Activity棧,判斷當(dāng)前Activity位置的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論