兼容 Android7.0 Android8.0
參見 GITHUB : downloadapk
Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
implementation 'com.github.HanteIsHante:downloadapk:0.0.3'
}
使用工具
PermissionCheck
檢測(cè)權(quán)限是否被授予
/**
* 判斷權(quán)限 集合是否獲得允許
*
* @param permissions 權(quán)限集合
* @return true 獲得允許 false 未獲得允許
*/
checkPermissions(vararg permissions: String)
可用來檢測(cè)是否被授予讀寫權(quán)限侠畔,返回false 時(shí)需要申請(qǐng)權(quán)限
調(diào)用系統(tǒng)下載功能
初始化
val downLoadApkManager = DownLoadApkManager.getInstance()
調(diào)用下載
傳入?yún)?shù):上下文,apk下載鏈接损晤,apk 名稱软棺,apkMD5值,apk描述信息
val downLoadState:Long = downLoadApkManager.startDownLoad(context,
Apkurl, ApkName, ApkMd5, ApkDesc)
通過md5 同本地文件中的apk做對(duì)比判斷本地是否已經(jīng)存在此apk, 若是存在尤勋,則表示已經(jīng)下載過該apk, 直接調(diào)用安裝程序進(jìn)行安裝
下載狀態(tài) downLoadState
- DOWN_LOAD_INIT_ID: 下載中
- DOWN_LOAD_MANAGER_UNABLE_USE: 系統(tǒng)下載管理器禁用狀態(tài)喘落,需要啟動(dòng)下載管理器或者打開瀏覽器進(jìn)行下載
- DOWN_LOAD_APK_HAS_EXIST: apk 已經(jīng)存在, 直接進(jìn)行安裝
- EXTERNAL_STORAGE_NOT_EXIST: 下載位置文件夾不可用
可根據(jù)不同的狀態(tài)做后續(xù)處理