Android 调用系统下载功能下载apk

兼容 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

  1. DOWN_LOAD_INIT_ID: 下载中
  2. DOWN_LOAD_MANAGER_UNABLE_USE: 系统下载管理器禁用状态,需要启动下载管理器或者打开浏览器进行下载
  3. DOWN_LOAD_APK_HAS_EXIST: apk 已经存在, 直接进行安装
  4. EXTERNAL_STORAGE_NOT_EXIST: 下载位置文件夹不可用

可根据不同的状态做后续处理

你可能感兴趣的:(Android 调用系统下载功能下载apk)