如果退出当前运行的Activity,可以使用 this.finish() 或者 System.exit(0) 。

 

如果退出整个程序,如下操作:

方式一:

Intent intent=new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_HOME);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);this.startActivity(intent);System.exit(0);

方式二:

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


android 完全退出程序

有几个activity,有一需求是在一个activityA点击back键退出系统而不是跳到之前的activity

首先想到的是清空activityA的堆栈,使用intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 但是该activityA不是已经存在于堆栈底端的,所以清除的只是堆栈中该activityA上面的activity,但后退后还是会返回堆栈中该activityA下面的activity。

然后想到的是截获back按键的事件,使用System.exit(0)和android.os.Process.killProcess(android.os.Process.myPid())来退出程序,还是不行,当前的activityA是被干掉了,但是还是会被ActivityManager接管返回到前一个activity。而且如果之前activity需要一些传过来的参数的话会导致程序连续抛异常。

最后终于找到一个可行的方法:使用ActivityManager彻底退出程序

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。

Android 如何退出程序相关推荐

  1. android java 退出程序_android开发两种退出程序方式(killProcess,System.exit)

    KillProcess: 在android中我们如果想要程序的进程结束可以这样写: android.os.Process.killProcess(android.os.Process.myPid()) ...

  2. Android 完全退出程序,以及再按一次返回键退出程序

    再按一次返回键退出最终完整方案: boolean isExit; @Override protected void onCreate(Bundle savedInstanceState) { supe ...

  3. Android 一键退出程序最简单的方法 finishAffinity()

    我们不生产代码,我们知识代码的搬运工,如有侵权,本人将第一时间删除 邮箱:zhf6751134@163.com QQ交流群:336237986 在浏览google API Demo 时,发现一个很实用 ...

  4. 【转】 Android中退出程序的提示框

    原文网址:http://blog.csdn.net/jumping_android/article/details/7571309 @Override public boolean onKeyDown ...

  5. Android完全退出程序、线程

    1.先添加权限 <uses-permission android:name="android.permission.RESTART_PACKAGES" /> 2.添加A ...

  6. android 强制退出程序,Android 强制且彻底的退出app

    方法1.使用MyApplication.java文件代码如下: package com.ss.zshcloud.utils; import android.app.Activity; import a ...

  7. qrobot开发总结之android完全退出程序

    首先总结一下网上可以查到的几种方法 1. Dalvik VM的本地方法 android.os.Process.killProcess(android.os.Process.myPid()) //获取P ...

  8. android:退出程序

    http://kofi1122.blog.51cto.com/2815761/703751 使用的是定义全局变量的方法

  9. android fragment 退出程序,android – 应用程序在Fragment中单击后退按钮后关闭

    [UPDATE] 问题解决了:只需在提交片段之前添加"addToBackStack(null)": Fragment fragment = new WebBrowserFragme ...

最新文章

  1. Oracle Parallel模式
  2. android kotlin面试题,Kotlin面试25题
  3. 【实践】飞猪交通个性化搜索推荐技术的实践与创新(附PPT下载链接)
  4. date日期 和 date时间拼接_函数周期表丨时间丨值丨DATE
  5. python tab键自动补全_设置python中TAB键自动补全方法
  6. Access to the path ‘‘ is denied.解决方案
  7. C++基础::便捷函数
  8. AllWinner T113交叉工具链篇
  9. Linux禁用文件可执行权限
  10. 灰色理论 光滑度处理 matlab,基于灰色理论的电子设备寿命预测研究
  11. Html中的表格、Table和div,表格页面、员工登记表、Div代码
  12. 一文详解双目立体匹配算法:ELAS
  13. 使用计算机用眼卫生,电脑族日常保护眼睛小常识
  14. java项目日志打印总结
  15. thinkphp用phpqrcode生成二维码(含中间带logo、临时二维码)或生成微信二维码海报的方法
  16. 从PE制作到恢复win引导
  17. 小目标检测算法SNIPER—— SNIP的实战版本 (目标检测)(two-stage)(深度学习)(Arvix 2018)
  18. 国内外机器学习、深度学习竞赛平台
  19. 如何把pdf转换成excel呢?教你简单的方法
  20. 清华计算机考研复试机试,清华大学历年考研复试机试真题 - 论文

热门文章

  1. JSONAssert Spring Boot Test
  2. [20170622]传输表空间与dblink.txt
  3. 我是这样发现ISP劫持HTTP请求的
  4. 算法导论--python--插入排序
  5. [20160513]Restrict Session与静态监听.txt
  6. C# 制作开机自动启动程序
  7. WCF中使用HttpContext.Current的办法
  8. 卍解,开放基础架构的力量--9月26日免费大型讲座预告
  9. 去中心化存储项目终极指南 | Filecoin, Storj 和 PPIO 项目技术对比(下)
  10. 阿里云全球布局逾200个数据中心,成立海外孵化中心深耕本地市场