在安装APK或升级已经安装好的APK完成后,该页面会出现两个按钮,一个是“完成”,另一个是“打开”。如果我们选择了完成,然后再打开APK,则什么事情都不会发生,如果我们选择了打开,进入APP后,这时候回到桌面,再点击图标进入APP,我们会发现APP走重建流程,从启动页重新开始进入首页。而不是打开处于后台的APP,如果我们不清理后台的APP或者彻底关闭APP重新打开,这个问题就会一直有。
我看别人的资料说这个问题是android系统自带的一个问题。找到了两个处理方法,但是我试过以后只有下面这个方法有用。
一、
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 解决APK安装后点打开按钮,打开程序后按home键后再通过APP图标唤醒会重新调用oncreate的问题
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
finish();
return;
}
setContentView(R.layout.activity_main);
}
必须在super.onCreate之后,setContentView之前调用这个方法,并且只有当 APP 启动的第一个 activity 的启动模式不为 singleTask 才有效。
网上还说有一个方法有效,将 APP 启动的第一个 activity 的启动模式改为 singleTop,但是我试过以后没反应,不知道是不是其他地方设置有问题。
android:launchMode="singleTop"