| | |
| | | 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; |
| | |
| | | // 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) { |