Linjiajia
2024-01-29 b17b9aa59bae6d03055f14d937821655dfaffa1f
app/src/main/java/com/application/zhangshi_app_android/ui/dialog/UpdateDialog.java
@@ -13,6 +13,7 @@
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.text.TextUtils;
import android.text.method.ScrollingMovementMethod;
import android.util.Log;
import android.view.View;
@@ -144,10 +145,28 @@
//                mApkFile = new File(getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), fileName);
                String pathname = Environment.getExternalStorageDirectory().getPath() + "/" + Environment.DIRECTORY_DOWNLOADS + "/" + fileName;
                mApkFile = new File(pathname);
                if (mApkFile.isFile()) {
                    // 下载完毕,安装 Apk
                    Utils.installAPK(getContext(),fileName);
                if (mApkFile.exists() && mApkFile.isFile()) {
                    // 如果有设置MD5,则判断MD5是否一致
                    if (TextUtils.isEmpty(mFileMd5)) {
                        // 没有设置MD5,直接安装
                        Utils.installAPK(getContext(),fileName);
                    } else {
                        // 设置了MD5,判断MD5是否一致
                        String md5 = Utils.calculateMD5(mApkFile);
                        if (md5 != null && md5.equalsIgnoreCase(mFileMd5)) {
                            // 已下载,直接安装
                            Utils.installAPK(getContext(),fileName);
                        } else {
                            // 删除旧 Apk
                            boolean delete = mApkFile.delete();
                            if (!delete) {
                                ToastUtils.showShort("删除旧 Apk 失败,请先手动删除后重试");
                            }else {
                                // 重新下载
                                downloadApk();
                            }
                        }
                    }
                } else {
                    // 判断下载状态
                    if (mDownloadComplete) {