Skip to content

基础使用

xuexiangjys edited this page May 11, 2021 · 4 revisions

默认版本更新

直接调用如下代码即可完成版本更新操作:

XUpdate.newBuild(getActivity())
        .updateUrl(mUpdateUrl)
        .update();

需要注意的是,使用默认版本更新,请求服务器返回的json格式应包括如下内容:

{
  "Code": 0, //0代表请求成功,非0代表失败
  "Msg": "", //请求出错的信息
  "UpdateStatus": 1, //0代表不更新,1代表有版本更新,不需要强制升级,2代表有版本更新,需要强制升级
  "VersionCode": 3,
  "VersionName": "1.0.2",
  "ModifyContent": "1、优化api接口。\r\n2、添加使用demo演示。\r\n3、新增自定义更新服务API接口。\r\n4、优化更新提示界面。",
  "DownloadUrl": "https://raw.githubusercontent.com/xuexiangjys/XUpdate/master/apk/xupdate_demo_1.0.2.apk",
  "ApkSize": 2048,
  "ApkMd5": "..."  //应用apk的md5值没有的话,就无法保证apk是否完整,每次都会重新下载。
}

自动版本更新

自动版本更新:自动检查版本 + 自动下载apk + 自动安装apk(静默安装)。 只需要设置isAutoMode(true),不过如果设备没有root权限的话,是无法做到完全的自动更新(因为静默安装需要root权限)。

XUpdate.newBuild(getActivity())
        .updateUrl(mUpdateUrl)
        .isAutoMode(true) //如果需要完全无人干预,自动更新,需要root权限【静默安装需要】
        .update();

支持后台更新

开启支持后台更新后, 用户点击“后台更新”按钮后,就可以进入到后台更新,不用一直在更新界面等待.

XUpdate.newBuild(getActivity())
        .updateUrl(mUpdateUrl)
        .supportBackgroundUpdate(true)
        .update();

强制版本更新

就是用户不更新的话,程序将无法正常使用。

  • 如果你使用的是默认版本更新返回api的话, 只需要服务端返回UpdateStatus字段为2即可。

  • 如果你自定义请求返回api的话,只需要设置UpdateEntitymIsForce字段为true即可。