android 解决安装完 APK 后点打开,然后回到桌面,再点图标打开 APP 时出现APP 重建,重走启动页的问题。

本文详细探讨了在Android系统中,APP在安装或升级后,使用桌面图标重新启动时重复调用onCreate方法的问题。提供了有效的解决方案,通过检查Intent标志来避免APP重复初始化,确保用户体验。同时,对比了修改启动模式为singleTop的方法,但未见成效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在安装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"  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值