兼容 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
检测权限是否被授予
/**
* 判断权限 集合是否获得允许
*
* @param permissions 权限集合
* @return true 获得允许 false 未获得允许
*/
checkPermissions(vararg permissions: String)
可用来检测是否被授予读写权限,返回false 时需要申请权限
调用系统下载功能
初始化
val downLoadApkManager = DownLoadApkManager.getInstance()
调用下载
传入参数:上下文,apk下载链接,apk 名称,apkMD5值,apk描述信息
val downLoadState:Long = downLoadApkManager.startDownLoad(context,
Apkurl, ApkName, ApkMd5, ApkDesc)
通过md5 同本地文件中的apk做对比判断本地是否已经存在此apk, 若是存在,则表示已经下载过该apk, 直接调用安装程序进行安装
下载状态 downLoadState
- DOWN_LOAD_INIT_ID: 下载中
- DOWN_LOAD_MANAGER_UNABLE_USE: 系统下载管理器禁用状态,需要启动下载管理器或者打开浏览器进行下载
- DOWN_LOAD_APK_HAS_EXIST: apk 已经存在, 直接进行安装
- EXTERNAL_STORAGE_NOT_EXIST: 下载位置文件夹不可用
可根据不同的状态做后续处理