您的位置:首页 > 移动开发 > Android开发

Android杀死正在运行的进程

2017-01-11 17:00 260 查看
最近有个需求,就是除自己app外杀死所有正在运行的进程。后来经过多番测试会发现无法实现。。。以下是我的测试过程:

记得刚开始学习时有一个killbackgroundprocess(packageName)的方法:

ActivityManager actManager = (ActivityManager) context

                .getSystemService(Context.ACTIVITY_SERVICE);

        List<RunningAppProcessInfo> runningAppProcesses = actManager.getRunningAppProcesses();

通过这种方法先获取到运行进程包名,然后 actManager.killBackgroundProcesses(packageName);杀死他们(杀死后台进程, 需要权限 KILL_BACKGROUND_PROCESSES)。

但是这个方法在android5.0之后就获取不到包名了,然后我找到一个jar包可以获取到运行包名。



然后尝试killprocess。。。还是杀不掉。

然后我查询了一下,经安全考虑这个方法已经无效了,当杀掉这些进程时,系统会将他们重启。(在5.0以上是这样的,5.0以下没尝试)

还有一些方法,例如:



这种方法的前提是手机必须root

还有一种是将app变为系统应用,作为只负责上层app开发的我是无法实现的。如果大神有其他好方法,请指教!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: