2011-09-06 54 views
0

當我開始通過是否應用於foregroud?

Intent intent = new Intent(Intent.ACTION_MAIN); 
      intent.addCategory("android.intent.category.LAUNCHER"); 
      intent.setComponent(new ComponentName("com.app.app", "com.app.app.Main")); 
      startActivity(intent); 




ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 
    List<RunningAppProcessInfo> runningProcInfo = activityManager.getRunningAppProcesses(); 

Log.e("TAG", "runningProcInfo.get(0).processName "+runningProcInfo.get(0).processName);

而且我回家的應用程序包

有什麼錯我的代碼從另一個應用程序?

回答

1

代碼沒有問題。

ActivityManager.getRunningAppProcesses()文檔:「返回RunningAppProcessInfo記錄列表,或返回null如果沒有正在運行的進程(它不會返回一個空列表)沒有指定這個列表排序。」

所以,runningProcInfo.get(0)可能是當前正在運行的任何進程,不一定是前臺進程。

+0

那麼,如何檢查我的應用程序在後臺?提前致謝。 – drifter

+0

請參閱[本討論](http://stackoverflow.com/questions/2166961/determining-the-current-foreground-application-from-a-background-task-or-service)。 –

0
List<ActivityManager.RunningAppProcessInfo> mRunningProcessInfo; 
     mRunningProcessInfo = mActivityManager.getRunningAppProcesses(); 
     for (ActivityManager.RunningAppProcessInfo process : mRunningProcessInfo) { 
      if(process.importance & process.IMPORTANCE_FOREGROUND==1) 
      //process.processName is the process in foreground 
     } 
相關問題