为什么我无法以编程方式查看Android中的所有正在运行的应用程序?

时间:2016-06-22 17:41:56

标签: android process task

我试图列出所有正在运行的应用,但我不知道为什么我不能这样做。

当我尝试运行以下命令时,我只返回了我的应用程序。

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

许多网站告诉我们使用

List<ActivityManager.RunningTaskInfo> alltasks = am.getRunningTasks(Integer.MAX_VALUE);

但也刚刚退回我的申请

没有root可以做任何事情来让所有任务/进程运行吗?

1 个答案:

答案 0 :(得分:1)

如前所述,从Android 5(Lollipop)开始不再支持getRunningTasks和getRunningAppProcesses

对于较新的Android版本,您需要让用户授予您“应用程序使用”权限,然后向UsageStatsManager询问在特定时间段内运行的应用程序。

https://developer.android.com/reference/android/app/usage/UsageStatsManager.html

您有更多详情:

How to use UsageStatsManager?

以下是有关如何查询UsageStatsManager的示例(Cole Murray的信用额 - 在上一个链接中发布) - https://github.com/ColeMurray/UsageStatsSample