app 退出到后台后,未被杀死,仍在运行,但是点击图标后会重新启动一次,再次重新创建一系列页面

项目中遇到了这个问题,非常影响用户的体验。
解决方法:

在APP的 启动页 中的onceate() 方法中加入此段代码即可。

 if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {finish();return;}

其实原因很简单,利用程序安装器打开程序,启动的Intent是没有带Category,而我们自己打开程序是带了Category,所以只需要在配置Intent.ACTION_MAIN的Activity判断下有无Category。然后放到通知栏的时候要根据有无Category 来生成启动的Intent。

或者在 启动页 中的onceate() 方法中,使用下面的代码也可以:

// 避免从桌面启动程序后,会重新实例化入口类的activity
if (!this.isTaskRoot()) { // 当前类不是该Task的根部,那么之前启动Intent intent = getIntent();if (intent != null) {String action = intent.getAction();if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(action)) { // 当前类是从桌面启动的finish(); // finish掉该类,直接打开该Task中现存的Activityreturn;}}
}

以上的代码二选一即可。

感谢:

http://www.cnblogs.com/net168/p/5722752.html

Android app 退出到后台,点击图标后再次重新启动相关推荐

  1. Android app切到后台 返回首页,Android 如何保证App切换到后台,或页面跳转后,重新打开APP、或返回之前页面时,维持其状态不变...

    项目中遇到的一些小问题,记录.分享一下. Android 如何保证App切换到后台,或页面跳转后,重新打开APP.或返回之前页面时,维持其页面状态不变? 1.问:当APP启动后,打开某一界面,然后点击 ...

  2. Android App 退出整个应用

    在做Android APP 过程中,有退出整个Project的功能,以下就是接受退出整个应用的操作: ActivityManager是用来管理记录每一个Activity,最后统一用来退出结束: pub ...

  3. android app 退出功能,Android 应用技巧: 手把手教你 优雅实现 “一键退出 App”

    前言 在 Android开发中,会经常存在 "一键退出App" 的需求 但市面上流传着 太多不可用的"一键退出App"功能实现 本文将全面总结"一键退 ...

  4. Android App退出检测

    app的退出检测是很难的,但是获取app"要退出"的状态就容易多了,退出的瞬间并不是真的退出了,ActivityManager要销毁activity,也需要一些时间和资源的.  先 ...

  5. android app 退出功能,Android 完美退出 App (Exit)

    最近两天为了解决Android上面退出程序问题折腾了半死,在google & baidu 上面找了很久.很久出来的完全千篇一律,说的方法有三,但是经过我试验后全部不行. 三个方法分别是: ki ...

  6. iOS 解决苹果手机锁屏后APP退出的问题及app状态

    进入后台程序退出是由iOS系统管理决定的,但APP退出在后台后,只有10秒的持续运行时间,然后暂停.但该APP还在内存中,当出现内存警告,也就是别的APP要运行,而此时内存又不足的情况下,系统会回收停 ...

  7. android 解决APP退出后以及后台运行时,再次点击图标的运行问题

    需求:现有闪屏界面SplashActivity,要求在无后台运行APP的情况下,点开应用,首先出现闪屏,2秒过后,进入到主功能界面MianActivity,运行时,将APP关至后台,再次点击图标,返回 ...

  8. 解决:Android App 在运行时候按下 home 键,让App 在后台运行,点击图标再次进入时防止应用重新启动

    一些体验上的优化 一:app 退出时,让 app 在后台运行,类似于 home 键的功能,最小化 二:Android 点击 Home 键后再点击 APP 图标,APP 显示退出之前的界面 一:app ...

  9. Android App点击home键返回桌面,点击图标后重回首页

    如题 一开始以为是系统把 App 进程给结束掉了,点击图标后重启. 后来发现是因为 首页 加了 launchMode,如下: <activity android:name=".Main ...

最新文章

  1. linux 学习总结
  2. python turtle画气球-使用python在mac上简单弹出气球消息
  3. ML神器:sklearn的快速使用
  4. GridView 用 checkbox 全选并取值
  5. MySQL修改版本号教程
  6. 《FPGA入门教程》看书随笔——RTL设计
  7. COSCon‘20 参会指南 | 你想知道的都在这里(文末有福利)
  8. leetcode 877. 石子游戏(dp)
  9. 给与 x 距离不超过 d 的点权值 a_一年级不上网课,妈妈陪孩子一起来完成三单元各课练习及单元卷吧...
  10. 东大OJ-5到100000000之间的回文质数
  11. python qq邮箱发邮件_Python用QQ邮箱发邮件的实例教程
  12. 中信建投软件测试,中信建投笔试经验-范例
  13. 高翔《视觉SLAM十四讲》从理论到实践
  14. 二阶系统响应指标图_二阶系统瞬态响应和稳定性实验报告
  15. LeetCode 633.平方数之和(python题解)
  16. java阿法狗国际象棋_[转帖]被阿法狗和AlphaZero刷屏之后,聊聊国际象棋和中国象棋AI...
  17. to be filed by oem
  18. 关于在word中插入页码以及目录的操作
  19. HDLBits(4) Procedures合集
  20. AI大语音(一)——语音识别基础(深度解析)

热门文章

  1. 没有事业的女孩子很悲惨
  2. python-人脸识别
  3. 【WEB】百度糯米学院学习笔记
  4. WinServer2012配置AD域
  5. 西子奥的斯电梯服务器使用教程方法_奥的斯电梯服务器按键说明
  6. Springboot 优雅关闭
  7. 2021.07.15_Sql查找入职时间排名倒数第三的员工所有信息
  8. 删除office多余的激活授权信息
  9. command python: select interpreter resulted in error解决方法
  10. 使用清华大学镜像网站的指令安装Pyqt5代码