2011-08-15 36 views

回答

5
if (apps.get(0).topActivity.getPackageName().equals("com.android.launcher") 

這在某種程度上解決了我的問題,只爲默認主頁

+0

很好的回答,還請提什麼是「應用」的完整的答案。 – Khawar

+0

@Rony:我當然想知道「apps」是什麼:-D –

+0

對不起:應用程序是「mActivityManager.getRunningTasks()」的結果 –

7

沒有API知道主屏幕是否顯示。然而,你可以知道什麼時候你的應用程序發送到使用各種活動生命週期回調的背景(的onStop等)

1

閹使用的onPause /的onStop的onResume方法活動的目的, 或利用自己實施的後臺處理服務(基於時間延遲或消息/接收器)。

3

試試這個功能,

public boolean isUserIsOnHomeScreen() { 
    ActivityManager manager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); 
    List<RunningAppProcessInfo> processes = manager.getRunningAppProcesses(); 
    for (RunningAppProcessInfo process : processes) { 
     if(process.pkgList[0].equalsIgnoreCase("com.android.launcher")) { 
      return true; 
     } else { 
      return false; 
     }   
    } 
    return false; 
} 
相關問題