您的位置:首页 > 其它

安卓按下Home键至手机桌面后,重新点开应用时无法进入退出时的页面

2018-12-28 16:29 405 查看

现象发生的情况是安装完成之后点击打开运行APP,从MainActivity进入AActivity后,按home回到主界面,再点击图标把APP切回前台运行的话发现打开的是MainActivity不是AActivity。

但是如果安装的时候点击完成,再打开APP就不会这样,具体原因未知,可能是系统的bug吧。

 

解决办法是在MainActivity中加上:

[code]if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
//结束你的activity
finish();
return;
}

功能就是如果是从栈底把MainActivity移到栈顶的话就finish掉,为了确保这个生效,我们就要修改活动的启动模式并且确保打开AActivity的时候不能栈里还有MainActivity,也就是不能把它finish掉。

 

然后说一下if后的语句的意思:

getIntent().getFlags()获取的是一个int值,他代表的是获取到的全部flag的或集,然后再Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT进行一下与运算,前者包括后者的话,就为1了;反正为0。

因为flag的个数太多,不便做成集合方式,因此采取了二进制方式判断。

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