android 杀死进程的方法总结

第一种:  只能杀死当天进程
 
int mid=android.os.Process.myPid();


android.os.Process.killProcess(mid);


<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>




第二种:可以杀死任意


ActivityManager om=(ActivityManager)getSystemService(ACTIVITY_SERVICE);


om.killBackgroundProcesses(packageName);


<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>




第三种:  只能杀死当前进程


final ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); 
   
am.restartPackage(getPackageName());


<uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission>


第四种:


   android2.2以后,如果服务在ondestroy里加上了start自己,用kill backgroudprocess通常无法结束自己。


   Method forceStopPackage = am.getClass().getDeclaredMethod("forceStopPackage", String.class);  
   forceStopPackage.setAccessible(true);  
   forceStopPackage.invoke(am, yourpkgname);  
 


   需要在manifest里加上shareduid定义


   android:sharedUserId="android.uid.system"  
 


   另外加上权限


   <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"></uses-permission>  
   


   并且采用系统platform签名




   因为需要用FORCE_STOP_PACKAGES权限,该权限只赋予系统签名级程序




第五种:退出应用


Intent startMain = new Intent(Intent.ACTION_MAIN); //指定跳到系统桌面


startMain.addCategory(Intent.CATEGORY_HOME); 


startMain.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //清除上一步缓存


startActivity(startMain); //开始跳转


System.exit(0);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值