转载https://blog.csdn.net/chen_md/article/details/83412497
问题:关于app第一次安装,进入主页后再进入一个界面A,然后home键回到桌面,再点击app图标,应该显示哪个界面?
有的人肯定说是界面A
但是那是相对于Google原生的系统来说,是界面A
APP的整个底层和framework都可以管
但是比如有的手机会出现这个问题:它会重启APP,并且进入主页
类似的手机有小米、360等,这些都是rom。。。
只要不是Google原生的系统,就会出现这个问题
造成这种问题的主要原因:
国内手机厂商问题,以及手机自带的第三方手机管家
一般遇到这种情况,解决办法:
- 第一步:删除第一个Activity的启动模式,或者改为“standard”。
第二步:在application中去设置持久化为 true,防止app挂后台被回收
android:persistent="true"
第三步:在启动的activity的onCreate中加入如下代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
finish();
return;
}
setContentView(R.layout.activity_splash);
initView();
} - 在启动的activity的onCreate中加入如下代码:
if (!isTaskRoot()) {
finish();
return;
}
启动模式改为默认的 - App 重新加载启动页的时候,判断是否已经加载过一次
在启动的activity的onCreate中加入如下代码:
if (!isTaskRoot()) {
final Intent intent = getIntent();
final String intentAction = intent.getAction();
if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && intentAction != null && intentAction.equals(Intent
.ACTION_MAIN)) {
finish();
return;
}
}
还有跳转其他app返回重启 有坑能是系统kill了啊,内存常驻 进程守护
https://github.com/momoshusheng/android-
网友评论