Ver código fonte

尝试修复部分手机提示无需安装的问题2

zengjiebin 7 anos atrás
pai
commit
9bb1a8f83e

+ 4 - 2
app/src/main/java/com/kfzs/duanduan/utils/ApkUtils.java

@@ -111,8 +111,7 @@ public class ApkUtils {
                         if(apkFileInfo.isAppInstalled()){//在onNext中未处理且应用已经安装的情况下,直接打开应用
                             PackageUtil.startApp(context, apkFileInfo.getPackageName());
                         } else {//有些手机会进入这里,很奇怪,暂未复现,直接安装吧
-                            PackageUtil.installApk(context, apkFileInfo.getPath());
-                            DataUtil.putAsString(DataKey.KEY_INSTALL_APK_PACKAGE_NAME, apkFileInfo.getPackageName());
+                            checkAndInstall(apkFileInfo);
                         }
                     }
 
@@ -124,6 +123,9 @@ public class ApkUtils {
                     @Override
                     public void onNext(final ApkFileInfo item) {
                         doneNext = true;
+                        checkAndInstall(item);
+                    }
+                    private void checkAndInstall(ApkFileInfo item){
                         if (!item.isAppInstalled() || (item.isEqualsSignMd5() && item.isCanInstallVersion())) {
                             PackageUtil.installApk(context, item.getPath());
                             DataUtil.putAsString(DataKey.KEY_INSTALL_APK_PACKAGE_NAME, item.getPackageName());