获取所有正在运行的应用程序的列表

时间:2016-04-27 10:10:50

标签: android

我想获取所有当前正在运行的应用程序的列表(也在后台暂停应用程序)。

我只能通过弃用的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+中获得正在运行的应用程序列表?

1 个答案:

答案 0 :(得分:0)

试试这个

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

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

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