解决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();}