5

我正在执行以下代码:

ActivityManager actvityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> procInfos = actvityManager.getRunningTasks(1000);

然后,我杀死一个我感兴趣的进程

actvityManager.killBackgroundProcesses(process.baseActivity.getPackageName());

来自哪里process的条目procInfos

问题是如果我getRunningTasks再次运行 - 它仍然会显示我(可能)杀死的进程,而 Android 的任务管理器在调用之前列出了该进程并在调用killBackgroundProcesses之后将其从列表中删除。

那么,关于任务管理器如何获取其正在运行的进程列表的任何想法?我在无根设备上成功杀死第 3 方进程是否正常?

4

1 回答 1

5

“正在运行”并不意味着用户启动了它;它可能正在侦听事件,进行预定的后台同步或其他任何事情。

ActivityManager.getRunningTasks() 可能更接近你想要的,但本质上你总是会遇到这个问题,因为用户无法完全控制当前活动的内容。

于 2012-03-23T13:19:35.460 回答