您的位置:首页 > 移动开发

当跳转到一个activity后按home键返回桌面,再桌面点击app图标进入后app重启了

2015-10-27 16:40 555 查看
在开发中发现个问题,不知道是我代码又问题,还是android本身有bug

描述如下:

1.安装界面安装完一个应用后,直接打开app,然后进入了 Activity_1, 此时再通过此activity用startActivity(intent)的方法打开Activity_2.

2. 然后按home键返回桌面,在桌面点击app图标进入,你觉得应该进入的是 Activity_2
,实际上却是Activity_1 .(app重启了)

3. 然而还没完,这时候你按 back 返回键,会发现返回到了之前打开的 Activity_2,再按返回,又出现Activity_1. 也就是说系统重复实例化了Activity_1.

4. 退出app后再次点击桌面图标进入,反复试验,没有再出现这个问题。也就是说,这个问题(bug ?)只出现在操作步骤(1)后才会产生.

解决方案:

在根activity 的super.onCreate(...)方法之后插入代码

if(!this.isTaskRoot()) {

//如果你就放在launcher Activity中话,这里可以直接return了

Intent mainIntent = getIntent();

String action = mainIntent.getAction();

if(mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER) && action.equals(Intent.ACTION_MAIN)) {

//finish()之后该活动会继续执行后面的代码,你可以logCat验证,加return避免可能的exception

finish();

return;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: