国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

獲取Activity棧,判斷當前Activity位置的方法

2019-10-22 18:14:03
字體:
來源:轉載
供稿:網友

需求

需要在整個app全局能夠彈出彈框,接收到廣播即進行處理。

但是,BaseActivity派生出N個Activity,BaseActivity中的廣播就會執行N次,導致彈框重復添加,所有在廣播中判定,只有在棧頂的Activity才能處理廣播消息。

實現

獲取任務棧

必須添加權限:

<!--獲取Activity任務棧 權限--><uses-permission android:name="android.permission.GET_TASKS" />

具體實現,獲取棧以及其中內容:

// 獲取activity任務棧ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);ActivityManager.RunningTaskInfo info = manager.getRunningTasks(1).get(0);// 類名 .ui.mobile.activity.WebsiteLoginActivityString shortClassName = info.topActivity.getShortClassName(); // 完整類名 com.haofang.testapp.ui.mobile.activity.WebsiteLoginActivityString className = info.topActivity.getClassName(); // 包名 com.haofang.testappString packageName = info.topActivity.getPackageName(); 

當前Activity的包名和全名:

// 包名 com.haofang.testappBaseActivity.this.getPackageName()// 類名 ui.main.MainActivityBaseActivity.this.getLocalClassName()

之后進行對比,即可在非目標Activity避開處理

以上這篇獲取Activity棧,判斷當前Activity位置的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辽阳县| 宁国市| 通山县| 新津县| 泰来县| 高雄市| 新乡县| 吕梁市| 玛曲县| 留坝县| 宣武区| 安徽省| 阳朔县| 浏阳市| 万山特区| 潮安县| 定远县| 隆化县| 新泰市| 永济市| 山阳县| 五华县| 汽车| 来宾市| 乐亭县| 芜湖市| 大安市| 连城县| 罗江县| 德昌县| 麻栗坡县| 新巴尔虎右旗| 六枝特区| 牟定县| 宁蒗| 南川市| 文成县| 汶川县| 方山县| 馆陶县| 临沧市|