5828

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

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

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

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

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

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

当你把那个属性去掉的时候还不行的话,那就在你的引导页的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;

}

}

}