安卓按下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的个数太多,不便做成集合方式,因此采取了二进制方式判断。
相关文章推荐
- 安卓按下Home键至手机桌面后,重新点开应用时无法进入退出时的页面
- 按home键 再次进入应用无法回到退出是的界面
- Android应用安装完成后在应用程序安装器的安装完成页面点击"打开"后进入app,再按Home键退到桌面再点击桌面app图标会重启app
- 按Home按键退出应用后重新启动该应用无法返回到最后打开页面的解决方案
- 【转】android 按home键返回到桌面后,再按桌面应用图标又重新打开该应用的解决方法
- android Home 之后重新进入 保持应用操作界面
- 用苹果手机扫描自动打开Appstore页面下载APP,用安卓手机扫码自动打开应用页面下载APP
- 安卓实现按返回键回到桌面以及再一次按返回键退出应用
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 本来从动态壁纸预览页面设置一个动态壁纸回到桌面便可以看到桌面动态壁纸,可以观察得到自己的动态壁纸是否设置成功了(必须知道设置是否成功的结构,因为还有一些操作需要完成)! 但是现在是要在自己的应用中进入
- android app从登录界面进入主页,按home键回桌面再进入app,重新弹出登录界面的问题解决
- 下载完点击“打开应用”后,按HOME键回到桌面,再次点击应用,没有回到之前的页面,而是打开新的应用
- apk通过安装器安装应用并直接打开,进入界面按Home 回到界面,点击应用,打开重新创建新应用的问题描述。
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 手机进入fastboot无法退出
- Android App首次安装完成后在安装界面直接打开应用,再按home键返回桌面,从桌面图标重新进入app,返回不到之前的界面问题
- Android 按Home键退出,在点击桌面图标进入不显示之前退出的Activity
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 拯救安卓手机的数据(无法进入系统只能打开recovery)
- 关于Android app首次安装完成后在安装界面打开应用再按home键返回桌面,重新进入app重复实例化launcher activity(转)