最近寫一個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{
//不跳轉
}