Android app 退出到后台,点击图标后再次重新启动
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 退出到后台,点击图标后再次重新启动相关推荐
- Android app切到后台 返回首页,Android 如何保证App切换到后台,或页面跳转后,重新打开APP、或返回之前页面时,维持其状态不变...
项目中遇到的一些小问题,记录.分享一下. Android 如何保证App切换到后台,或页面跳转后,重新打开APP.或返回之前页面时,维持其页面状态不变? 1.问:当APP启动后,打开某一界面,然后点击 ...
- Android App 退出整个应用
在做Android APP 过程中,有退出整个Project的功能,以下就是接受退出整个应用的操作: ActivityManager是用来管理记录每一个Activity,最后统一用来退出结束: pub ...
- android app 退出功能,Android 应用技巧: 手把手教你 优雅实现 “一键退出 App”
前言 在 Android开发中,会经常存在 "一键退出App" 的需求 但市面上流传着 太多不可用的"一键退出App"功能实现 本文将全面总结"一键退 ...
- Android App退出检测
app的退出检测是很难的,但是获取app"要退出"的状态就容易多了,退出的瞬间并不是真的退出了,ActivityManager要销毁activity,也需要一些时间和资源的. 先 ...
- android app 退出功能,Android 完美退出 App (Exit)
最近两天为了解决Android上面退出程序问题折腾了半死,在google & baidu 上面找了很久.很久出来的完全千篇一律,说的方法有三,但是经过我试验后全部不行. 三个方法分别是: ki ...
- iOS 解决苹果手机锁屏后APP退出的问题及app状态
进入后台程序退出是由iOS系统管理决定的,但APP退出在后台后,只有10秒的持续运行时间,然后暂停.但该APP还在内存中,当出现内存警告,也就是别的APP要运行,而此时内存又不足的情况下,系统会回收停 ...
- android 解决APP退出后以及后台运行时,再次点击图标的运行问题
需求:现有闪屏界面SplashActivity,要求在无后台运行APP的情况下,点开应用,首先出现闪屏,2秒过后,进入到主功能界面MianActivity,运行时,将APP关至后台,再次点击图标,返回 ...
- 解决:Android App 在运行时候按下 home 键,让App 在后台运行,点击图标再次进入时防止应用重新启动
一些体验上的优化 一:app 退出时,让 app 在后台运行,类似于 home 键的功能,最小化 二:Android 点击 Home 键后再点击 APP 图标,APP 显示退出之前的界面 一:app ...
- Android App点击home键返回桌面,点击图标后重回首页
如题 一开始以为是系统把 App 进程给结束掉了,点击图标后重启. 后来发现是因为 首页 加了 launchMode,如下: <activity android:name=".Main ...
最新文章
- linux 学习总结
- python turtle画气球-使用python在mac上简单弹出气球消息
- ML神器:sklearn的快速使用
- GridView 用 checkbox 全选并取值
- MySQL修改版本号教程
- 《FPGA入门教程》看书随笔——RTL设计
- COSCon‘20 参会指南 | 你想知道的都在这里(文末有福利)
- leetcode 877. 石子游戏(dp)
- 给与 x 距离不超过 d 的点权值 a_一年级不上网课,妈妈陪孩子一起来完成三单元各课练习及单元卷吧...
- 东大OJ-5到100000000之间的回文质数
- python qq邮箱发邮件_Python用QQ邮箱发邮件的实例教程
- 中信建投软件测试,中信建投笔试经验-范例
- 高翔《视觉SLAM十四讲》从理论到实践
- 二阶系统响应指标图_二阶系统瞬态响应和稳定性实验报告
- LeetCode 633.平方数之和(python题解)
- java阿法狗国际象棋_[转帖]被阿法狗和AlphaZero刷屏之后,聊聊国际象棋和中国象棋AI...
- to be filed by oem
- 关于在word中插入页码以及目录的操作
- HDLBits(4) Procedures合集
- AI大语音(一)——语音识别基础(深度解析)