Android 按 home 键,每次都会重新启动 APP,无法存活 MainActivity

今天遇到一个问题:当首次安装 APP,完成时直接点击打开会出现一种情况:按 home 键返回桌面,再点击 APP 图标,发现 APP 重启并回到首页。再次按 home 键返回桌面,点击 APP 图标,依然是重启并回到首页。当强制杀掉后台进程,或者一直按返回直到 APP 正常退出,此问题消失。

在第一次安装后,Activity 管理栈似乎对进入的 Activity 不做任何判断与标记(是否是栈顶的Activity),每次都会入栈,在将栈清空后又恢复正常(就是 Task 对 Activity 做记录了,哪个处于栈顶,是否在栈里等)。

解决办法:在启动页 Activity 的 onCreate 方法中的 super.onCreate 后面加入以下代码

if (!this.isTaskRoot()) {
    Intent mainIntent = getIntent();
    String action = mainIntent.getAction();
    if (mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER) && action.equals(Intent.ACTION_MAIN)) {
        finish();
        return;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。