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开发的我是无法实现的。如果大神有其他好方法,请指教!
记得刚开始学习时有一个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开发的我是无法实现的。如果大神有其他好方法,请指教!
相关文章推荐
- Android开发——查询/杀死手机里正在运行的进程
- Android开发——查询/杀死手机里正在运行的进程
- Android中TASK和PROCESS的区别,获取最近运行的程序和正在运行的进程
- android获取正在运行的进程
- Android中TASK和PROCESS的区别,获取最近运行的程序和正在运行的进程
- android获取正在运行的进程
- Android-如何获得当前正在运行的activity和进程的相关信息
- 获取Android系统正在运行的进程
- android源码settings中显示所有正在运行进程流程分析
- android获取正在运行的进程
- [Android Pro] 获取手机已经安装的应用 和 获取当前正在运行的所有进程(一个uid对应多个pid)
- Android项目实战--手机卫士27--拿到剩余内存以及正在运行的进程数
- Android中TASK和PROCESS的区别,获取最近运行的程序和正在运行的进程
- android源码settings中显示所有正在运行进程流程分析
- Android获取正在运行的进程
- android获取当前正在运行的进程的数目
- Android:5.0以上获取系统正在运行的进程信息
- android 查看当前正在运行的进程
- 获取android正在运行的所有app进程
- Android学习点点滴滴之获取正在运行的进程