Android獲取當前屏幕顯示的是哪個activity

最近寫一個app遇到一個問題:定時會通過notification推送消息,通過下拉菜單點擊消息可以進入對應的activity

那麼如果當前屏幕顯示的正式需要打開的那個activity的話再去打開就會出現打開2個相同頁面的問題

解決方法:通過ActivityManager來判斷當前顯示的界面是否是我需要打開的那個頁,再判斷我是否是去開啓它


需要的權限:

<uses-permission android:name="android.permission.GET_TASKS"/>

得到當前顯示的頁面名:

                ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
                ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
                Log.e("current", "pkg:"+cn.getPackageName());
                Log.e("currentclass", "cls:"+cn.getClassName());

對比:

                if(!cn.getClassName().equals("當前顯示的class名")){
                    //跳轉操作
                }else{
                    //不跳轉 
                }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章