Android杀死正在运行的进程
16lz
2021-01-26
最近有个需求,就是除自己app外杀死所有正在运行的进程。后来经过多番测试会发现无法实现。。。以下是我的测试过程:
记得刚开始学习时有一个killbackgroundprocess(packageName)的方法:
ActivityManager actManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List
通过这种方法先获取到运行进程包名,然后 actManager.killBackgroundProcesses(packageName);杀死他们(杀死后台进程, 需要权限 KILL_BACKGROUND_PROCESSES)。
但是这个方法在android5.0之后就获取不到包名了,然后我找到一个jar包可以获取到运行包名。
然后尝试killprocess。。。还是杀不掉。
然后我查询了一下,经安全考虑这个方法已经无效了,当杀掉这些进程时,系统会将他们重启。(在5.0以上是这样的,5.0以下没尝试)
还有一些方法,例如:
这种方法的前提是手机必须root
还有一种是将app变为系统应用,作为只负责上层app开发的我是无法实现的。如果大神有其他好方法,请指教!
更多相关文章
- Android(安卓)Service的绑定过程
- android之AIDL跨进程通信详解 (四)AIDL中RemoteCallbackList的使
- Android(安卓)Values文件作用及使用方法
- android动态更改menu元素
- 安卓修改屏幕超时后,系统不进入休眠的方法。
- LeakCanary源码解析之检测篇
- 初学Android的一些注意事项
- 【Android】项目常用功能集锦(一)
- android实现倒计时功能的方法