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