獲取Activity棧,判斷當(dāng)前Activity位置的方法
需求
需要在整個(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)文章
kotlin實(shí)戰(zhàn)教程之lambda編程
這篇文章主要給大家介紹了關(guān)于kotlin實(shí)戰(zhàn)教程之lambda編程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用kotlin具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09Android中使用achartengine生成圖表的具體方法
這篇文章主要介紹了Android中使用achartengine生成圖表的具體方法,有需要的朋友可以參考一下2014-01-01Android筆記之:App應(yīng)用之發(fā)布各廣告平臺(tái)版本的詳解
Android的廣告平臺(tái)是很多的,各市場(chǎng)對(duì)各平臺(tái)的接受程度是不一樣的,Android的開(kāi)發(fā)者如果想集成廣告基本要考慮下面兩個(gè)問(wèn)題2013-04-04Android studio 快速刪除無(wú)用資源的方法
最近苦于android 項(xiàng)目越來(lái)越大,項(xiàng)目需求不停變動(dòng)。項(xiàng)目中的資源文件越來(lái)越雜,越來(lái)越亂。android studio怎么刪除無(wú)用資源呢?下文圖文并茂給大家介紹的非常詳細(xì),需要的朋友參考下吧2017-11-11Android Studio修改Log信息顏色的實(shí)現(xiàn)
這篇文章主要介紹了Android Studio修改Log信息顏色的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04Android Studio gradle配置packagingOptions打包so庫(kù)重復(fù)
這篇文章主要為大家介紹了Android Studio gradle配置packagingOptions打包so庫(kù)重復(fù)問(wèn)題的解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Android實(shí)現(xiàn)頁(yè)面滑動(dòng)切換動(dòng)畫(huà)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)頁(yè)面滑動(dòng)切換動(dòng)畫(huà),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Android打印機(jī)--小票打印格式及模板設(shè)置實(shí)例代碼
這篇文章主要介紹了Android打印機(jī)--小票打印格式及模板設(shè)置實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04