launcher启动应用重启的BUG解决
2015-11-12 14:52
288 查看
最近遇到了一个问题,从launcher重新进入已经运行的应用会直接跳到应用的第一个界面。
经过对应用的跟踪,结合网络上的资料
http://stackoverflow.com/questions/19545889/app-restarts-rather-than-resumes
定位了BUG。
【BUG描述】
这个是一个Android BUG, 其实应用并没有完全重启,只是又启动了一个第一界面,然后放到了任务栈的顶部,这时候,我们点击BACK会回到我们期望的正确界面。
操作步骤为,安装,点击开始,点击HOME,点击图标。
【解决】
这个问题的解决思路是,在第一个界面的oncreate里面判断当前应用是否已经启动,并判断intent信息,如果已经启动过了,并且信息符合,那么我们就结束这个新开的第一界面。
代码如下
经过对应用的跟踪,结合网络上的资料
http://stackoverflow.com/questions/19545889/app-restarts-rather-than-resumes
定位了BUG。
【BUG描述】
这个是一个Android BUG, 其实应用并没有完全重启,只是又启动了一个第一界面,然后放到了任务栈的顶部,这时候,我们点击BACK会回到我们期望的正确界面。
操作步骤为,安装,点击开始,点击HOME,点击图标。
【解决】
这个问题的解决思路是,在第一个界面的oncreate里面判断当前应用是否已经启动,并判断intent信息,如果已经启动过了,并且信息符合,那么我们就结束这个新开的第一界面。
代码如下
private void checkIsRunning() { if (!isTaskRoot() && getIntent().hasCategory(Intent.CATEGORY_LAUNCHER) && getIntent().getAction() != null && getIntent().getAction().equals(Intent.ACTION_MAIN)) { finish(); return; } }
相关文章推荐
- js里父页面与子页面的相互调用
- Div层(点击可折叠展开)
- python 实现模拟登录网站并实现自动回复帖子
- iOS开源App整理
- Django中request和response中的属性方法详述
- opengl 摘要
- java概述及我的第一个java项目
- mysqlbinlog恢复MySQL
- [ecshop 经验 ]transport.js run error 68ecshop 小京东 火狐提示 同源策略和跨域访问 68ecshop
- hdu 4705 Y(计数)
- ffmpeg 调试信息 添加
- 汇编标志寄存器
- android studio 和eclipse 获取sha1或MD5方法
- [No000042]CSS 之 平时那些你不敢用的字体
- RequireJS加载ArcGIS API for JavaScript
- Android编程实现监听EditText变化的方法
- MySQL主从服务安装步骤
- oracle中对于clob存储xml数据的修改
- hdu 4704 Sum(数论)
- (一)前言