Android杀死正在运行的进程

本文探讨了在Android 5.0及以上版本中杀死除自身APP外的所有后台进程的方法。介绍了ActivityManager的killBackgroundProcesses方法,并指出该方法在Android 5.0后的限制。文中还提到了获取运行中进程包名的技术手段及遇到的问题。

最近有个需求,就是除自己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开发的我是无法实现的。如果大神有其他好方法,请指教!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值