Android 完全退出程序
来源:学习笔记 责任编辑:栏目编辑 发表时间:2013-07-01 10:27 点击:次
1.使用ActivityManager彻底退出程序
(1) android 2.2之前的room用:
- ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
- manager.restartPackage(getPackageName());
需要声明权限
- <uses-permission android:name="android.permission.RESTART_PACKAGES"/>
这种方法会终止一切和这个程序包关联的,所有共享同一uid的process被kill,所有 的activity会被removed所有创建的服务会停止,还会发一个广播
Intent.ACTION_PACKAGE_RESTARTED
导致所有注册alarms 被stopped, notifications 被removed。 (2) android 2.2之后的room用:(2.2测试不能用)
- ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
- am.killBackgroundProcesses("cn.com.android123.cwj"); // API Level至少为8才能使用
需要声明权限
- <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
测试可用:
- Intent startMain = new Intent(Intent.ACTION_MAIN);
- startMain.addCategory(Intent.CATEGORY_HOME);
- startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(startMain);
- System.exit(0);
2. 声明一个静态变量,根据变量值在activity ,onResume方法里逐个调用finish方法。
代码:
- @Override
- protected void onResume() {
- if(IS_EXIT){ //静态变量,标识是否完全退出程序
- finish();
- }else{
- ... ...
- }
- &
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>