安卓端实现自身检测升级
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的值进行判断是否需要升级。
网友评论