解决APK安装成功后点击"打开"再按Home键遇到的问题


问题描述:

       安装系统SD卡里面的apk或者原有的程序更新版本的时候,会遇到升级安装成功之后的一个选择——“打开”和“完成”,点击完成没有问题,但是,如果点击了"打开",然后按Home键,从应用程序列表里面选择应用程序图标进入,这个时候就会重新启动了一个应用程序,之后的操作就会出现混乱等问题。

       困扰了我很久,由于我的登陆页面会和server建立长链接,而按home键链接不会断开,方便我在后台更新数据。现在每次从home回到我的application就会重新尝试去连server,从而建立起不止一个链接。


解决方法:

        在网上找了很久的资料,把launchMode改称singleTop, singleTask完全没有效果;监听apk安装事件更是扯淡;restartPackage的方法在很多android版本中不能用。其实处理方法很简单,虽然会有一点瑕疵-------禁用安装完成后的“打开”按钮。当然,写插件去改android系统,但是毕竟是启动我们的应用,我们只要自动关闭第一次打开应用程序的操作。


在应用程序登陆页面启动之前加入以下代码:

        String version = getEmmaApplication().getVersion();
        SharedPreferences sharedPreferences = getSharedPreferences("userInfo", Context.MODE_PRIVATE); 
        String versionStore = sharedPreferences.getString("version", ""); 
        Editor editor = sharedPreferences.edit();
        editor.putString("version", version);      
        editor.commit();
        if (!version.equals(versionStore)) {
        	ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
        	am.restartPackage(getPackageName());
        	finish();
		}

即在文件系统中保存当前版本号,每次更新之后,检查新版本和当前版本号,如果不同表示更新过程序,那么第一次启动只做一件事情,就是更新文件系统里的版本号,然后直接关闭。这样第二次启动就能顺利进入。这个过程很快,用户不会感觉太多异常,点击“打开”按钮立刻就会返回下载页面。此时,已经没有“打开”和“完成”两个选项,用户回到主界面启动application,一切正常。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值