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

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

ActivityManager actManager = (ActivityManager) context
                .getSystemService(Context.ACTIVITY_SERVICE);
        List runningAppProcesses = actManager.getRunningAppProcesses();

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

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


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

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

还有一些方法,例如:


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

还有一种是将app变为系统应用,作为只负责上层app开发的我是无法实现的。如果大神有其他好方法,请指教!

更多相关文章

  1. Android(安卓)Service的绑定过程
  2. android之AIDL跨进程通信详解 (四)AIDL中RemoteCallbackList的使
  3. Android(安卓)Values文件作用及使用方法
  4. android动态更改menu元素
  5. 安卓修改屏幕超时后,系统不进入休眠的方法。
  6. LeakCanary源码解析之检测篇
  7. 初学Android的一些注意事项
  8. 【Android】项目常用功能集锦(一)
  9. android实现倒计时功能的方法

随机推荐

  1. Android(安卓)WiFi code
  2. Android(安卓)--- 图片的特效处理
  3. Android中自定义Dialog常用的两种方式
  4. android 自带的contacts2.db数据库表结构
  5. Android(安卓)TextView 实现跑马灯效果
  6. android ndk实现java层代码。。
  7. ADB和Fastboot的谷歌官方下载链接
  8. android binder c++层-客户端(c++) 调用
  9. android 学习笔记
  10. Android获取SD卡视频音频文件