android退出整个应用

本文介绍了一种有效的退出Android应用的方法:通过判断系统版本并使用不同方式重启包来彻底关闭应用程序及所有活动,避免仅关闭当前活动导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

强制退出整个应用的方法,参考http://263229365.iteye.com/blog/1283914

int currentVersion = android.os.Build.VERSION.SDK_INT;
 if (currentVersion > android.os.Build.VERSION_CODES.ECLAIR_MR1) {
     Intent startMain = new Intent(Intent.ACTION_MAIN);
     startMain.addCategory(Intent.CATEGORY_HOME);
     startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
     startActivity(startMain);
     System.exit(0);
 } else {// android2.1
     ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
     am.restartPackage(getPackageName());
 }
 

测试只有这个方法比较有效.能退出整个进程.关闭所有Activity.但是缺点是.直接回到idle.而不是mainmenu.

其余的如下

finish.

system.exit(0),

android.os.Process.killProcess(android.os.Process.myPid()); 

均只能结束当前的Activity. 

比如task中有 A. B 2个Activity.在B中调用上述3种方式.都只能回到A.而不是退出app.

需要注意的是:finish是结束B,回到A. 后2者却是先结束了改app的进程.但是又回到了A.同时又启动了改app进程.在ddms中可以看到进程先消失再出现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值