(完美解决)App点击Home键后,再次点击APP图标,APP重启回不到点击home键前的那个界面

在这个即将国庆的日子里,碰到这么个神奇的bug;经过查找发现竟然是前人留下来的坑;

在你的LAUNCHER的Activity里面查看是否有 android:launchMode="singleTask"这个属性,如果有这个属性就把他去掉。

不然当你进入后台时,再次重启APP他是进入的MainActivity。然后在singleTask这个属性下是把栈内的除了MainActivity的Activity出栈。

导致你一进来就是MainActivity.(你们也有可能是引导页,每个人项目都不一样,但是只要修改如下图框框所示的那个Activity即可)

因为我这边是tcp长连接所以他进来又进了一遍MainActivity。

(完美解决)App点击Home键后,再次点击APP图标,APP重启回不到点击home键前的那个界面_第1张图片

当你把那个属性去掉的时候还不行的话,那就在你的引导页的onCreate方法加上下面这个判断:

// 避免从桌面启动程序后,会重新实例化入口类的activity
if (!this.isTaskRoot()) { // 判断当前activity是不是所在任务栈的根
    Intent intent = getIntent();
    if (intent != null) {
        String action = intent.getAction();
        if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(action)) {
            finish();
            return;
        }
    }
}

 

你可能感兴趣的:(Android)