android杀进程方法
2015-07-04 17:55
555 查看
方法1
restartPackage
使用的具体源代码
[java] view
plaincopy
ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
再加上uses-permission
[html] view
plaincopy
<uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission>
方法2
结束进程还有android.os.Process.killProcess(pid)只能终止本程序的进程,无法终止其它的
方法3
在android2.2版本之后则不能再使用restartPackage()方法,而应该使用killBackgroundProcesses()方法
使用代码:
[java] view
plaincopy
ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
manager.killBackgroundProcesses(getPackageName());
加入权限
[html] view
plaincopy
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
另外,在android2.2以后,如果服务在ondestroy里加上了start自己,用kill backgroudprocess通常无法结束自己。
方法4
还有一种方法,利用反射调用forceStopPackage来结束进程
代码如下
[java] view
plaincopy
Method forceStopPackage = am.getClass().getDeclaredMethod("forceStopPackage", String.class);
forceStopPackage.setAccessible(true);
forceStopPackage.invoke(am, yourpkgname);
需要在manifest里加上shareduid定义
[html] view
plaincopy
android:sharedUserId="android.uid.system"
另外加上权限
[html] view
plaincopy
<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"></uses-permission>
并且采用系统platform签名
因为需要用FORCE_STOP_PACKAGES权限,该权限只赋予系统签名级程序
即可实现强制停止指定程序,系统设置的强行停止应用程序也是调用的这个方法。
方法5
还有一种方法 利用linux的kill -9 + pid
我试验过,效果不大好,以QQ安全管家为例,被杀掉就直接重新启动了(360也是这种情况)
restartPackage
使用的具体源代码
[java] view
plaincopy
ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
再加上uses-permission
[html] view
plaincopy
<uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission>
方法2
结束进程还有android.os.Process.killProcess(pid)只能终止本程序的进程,无法终止其它的
这是结束当前activity的方法
方法3在android2.2版本之后则不能再使用restartPackage()方法,而应该使用killBackgroundProcesses()方法
使用代码:
[java] view
plaincopy
ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
manager.killBackgroundProcesses(getPackageName());
加入权限
[html] view
plaincopy
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
另外,在android2.2以后,如果服务在ondestroy里加上了start自己,用kill backgroudprocess通常无法结束自己。
方法4
还有一种方法,利用反射调用forceStopPackage来结束进程
代码如下
[java] view
plaincopy
Method forceStopPackage = am.getClass().getDeclaredMethod("forceStopPackage", String.class);
forceStopPackage.setAccessible(true);
forceStopPackage.invoke(am, yourpkgname);
需要在manifest里加上shareduid定义
[html] view
plaincopy
android:sharedUserId="android.uid.system"
另外加上权限
[html] view
plaincopy
<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"></uses-permission>
并且采用系统platform签名
因为需要用FORCE_STOP_PACKAGES权限,该权限只赋予系统签名级程序
即可实现强制停止指定程序,系统设置的强行停止应用程序也是调用的这个方法。
方法5
还有一种方法 利用linux的kill -9 + pid
我试验过,效果不大好,以QQ安全管家为例,被杀掉就直接重新启动了(360也是这种情况)
相关文章推荐
- adb脚本输出android调试信息
- android 随着认识的去除率EditText(它配备了防抖效果)
- Android开发中 更新API的问题
- Android物业动画研究(Property Animation)彻底解决具体解释
- Android正则表达式验证手机号号段和位数
- android平台收发邮件教程
- [Android L]SEAndroid增强Androd安全性背景概要及带来的影响
- 记录几个Android上利用Camera传输视频流的开源例子
- Android学习之加圆点引导页的实现
- openGL ES Android 三角形绘制
- Android 一键清理、内存清理功能实现
- Android 实现记住用户名和密码的功能
- Android下强制关闭其他程序
- android 应用强制停止
- Android拖动和缩放图片
- android定义dialog
- android imageButton 透明图片
- Android开发(三十)——ScrollView中ListView的高度自动适应
- android短信验证
- 正常查看Android内部常用的类注释和源代码