安卓版本升级(AppUdate)

2022-03-08  本文已影响0人  Crassus

安卓端实现自身检测升级

GitHub上对比各种开源库,避开各种坑位最后选择了AppUpdate, 其他的库要么就是年久失修,要么就是一个下载功能还要各种其他的库(ps:版本更新功能不就是显示一个UI和下载服务么,这都做不好开啥源)。
然后找到这个够简洁,能用,问题也没啥,fork的人数也不少;

具体集成步骤;

1. app/build.gradle 引入

implementation 'com.github.azhon:AppUpdate:3.0.7'

2.app/AndroidManifest.xml添加适配安卓11应用安装权限

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

3.在MainActivity中协调后台提供个关于版本控制的接口

然后成功调用第4步骤

4.在3网络请求成功将下载的App信息进行配置调用

private fun checkAppInfo(info: AppUpdateInfo){
        val configuration = UpdateConfiguration()
        configuration
            .setEnableLog(false)
            .setJumpInstallPage(true)
            .setDialogButtonColor(Color.WHITE)
            .setShowNotification(true)
            .setShowBgdToast(true)
            .setForcedUpgrade(false)
            .setDialogButtonColor(Color.parseColor("#76BBAD"))
            //设置对话框强制更新时进度条和文字的颜色
            .setDialogProgressBarColor(Color.parseColor("#76BBAD"))

        val manager = DownloadManager.getInstance(this);
        manager.setApkName("xxx.apk")
            .setApkUrl(info.url)
            .setSmallIcon(R.mipmap.ic_launcher)
             // 是否显示提示最新版本
            .setShowNewerToast(false)
            .setConfiguration(configuration)
            //设置了此参数,那么会自动判断是否需要更新弹出提示框
            .setApkVersionCode(info.versionCode)
            .setApkVersionName(info.version)
            .setApkSize(info.appSize)
            .setApkDescription(info.updateContent)
            .download();
    }

注意: 主要通过setApkVersionCode的值进行判断是否需要升级。

上一篇 下一篇

猜你喜欢

热点阅读