2016-04-27 63 views
-1

我想獲取所有當前正在運行的應用程序的列表(在後臺也暫停應用程序)。獲取所有正在運行的應用程序的列表

我只能找到廢棄的api(ActivityManager.getRunningTasks())的問題的舊答案,它不再工作。

我已經測試了下面的代碼:

public class TaskManager { 
    private static final String TAG = "TaskManager"; 

    private ActivityManager manager; 

    public TaskManager(ActivityManager manager) { 
     this.manager = manager; 
    } 

    public void getRunningApps() { 
     List<ActivityManager.RunningAppProcessInfo> runningApps = manager.getRunningAppProcesses(); 

     for (ActivityManager.RunningAppProcessInfo runningApp : runningApps) { 
      Log.d(TAG, "getRunningApps: " + runningApp.processName); 
     } 
    } 
} 

不幸的是只返回我是來自調用它的應用程序的進程名。

有什麼辦法可以在Android 5.0+中獲得正在運行的應用程序列表?

回答

0

試試這個

ActivityManager manager = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE); 

List<ActivityManager.RunningAppProcessInfo> tasks = manager.getRunningAppProcesses(); 

Log.i("current_app",tasks.get(0).processName); 
+0

這樣只會給我自己的應用程序。但我需要所有正在運行的應用程序。 – arkhon

+0

你想要包名或活動名稱? –

+0

包裝名稱將完美我認爲。 – arkhon

相關問題