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

Android 获取所有正在运行的应用程序的列表,android,Android,我想获得当前运行的所有应用程序(也包括后台暂停的应用程序)的列表 我只能通过一个不推荐使用的api(ActivityManager.getRunningTasks())找到问题的旧答案,该api不再工作 我已经测试了以下代码: public class TaskManager { private static final String TAG = "TaskManager"; private ActivityManager manager; public TaskMa

我想获得当前运行的所有应用程序(也包括后台暂停的应用程序)的列表

我只能通过一个不推荐使用的api(ActivityManager.getRunningTasks())找到问题的旧答案,该api不再工作

我已经测试了以下代码:

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);
        }
    }
}
公共类任务管理器{
私有静态最终字符串TAG=“TaskManager”;
私人活动经理;
公共任务管理器(活动管理器管理器){
this.manager=经理;
}
public void getRunningApps(){
List runningApps=manager.getrunningappprocesss();
对于(ActivityManager.RunningAppProcessInfo runningApp:runningApps){
Log.d(标记“getRunningApps:”+RunningApps.processName);
}
}
}
不幸的是,它只返回我调用它的应用程序的进程名

有没有办法在Android 5.0+中获得正在运行的应用程序列表?

试试这个

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

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

Log.i("current_app",tasks.get(0).processName);
ActivityManager=(ActivityManager)mContext.getSystemService(Context.ACTIVITY_服务);
List tasks=manager.getRunningAppProcesses();
Log.i(“当前_应用程序”,tasks.get(0.processName);

这只会给我自己的应用程序。但我需要所有正在运行的应用程序。你想要程序包名称还是活动名称?我想程序包名称会比较合适。它只返回我的应用程序,即使我做了每分钟检查并更改前台应用程序的服务器(我的应用程序是一个信息亭)