欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android填坑:Home键后无法还原到当前页面

程序员文章站 2022-05-16 11:22:07
...

Android填坑:Home键后无法还原到当前页面

问题描述

安装APP成功后,弹出“完成”和“打开”选择页,直接“打开”APP吊起其他页面,使用Home键回到桌面,通过APP图标再次打开APP,发现直接回到了MainActivity,并没有还原之前的页面,且通过返回键却可以回到之前页面。

原因分析

通过系统安装程序安装成功的APP(如:从应用商城下载安装),如果选择直接打开的话,走的是该程序启动Activity的流程,产生的Activity栈是属于该程序的;而直接通过桌面图标启动APP,则走的是APP自己的启动流程,该过程中无法找到安装程序所产生的Activity栈,所以APP会重新启动MainActivity。

强调: 以上描述可能不是很清晰,大神们可以指点一二!

解决方案

在MainActivity(这里的MainActivity指代第一个启动的Activity)中加入以下代码:

@Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        if (!isTaskRoot()) {
            Intent intent = getIntent();
            if (intent != null && Intent.ACTION_MAIN.equals(intent.getAction()) && intent.hasCategory(Intent.CATEGORY_LAUNCHER)) {
                finish();
                return;
            }
        }
    }
复制代码

转自:https://juejin.im/post/5a76a5ef6fb9a0633a70d829  侵删

相关标签: 安卓相关