用法:在某一个Activity的onCreate中执行以下方法
/**
* 检查APP最新安装包 By zzl 2021.01.11
*/
private void checkAppVersion() {
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("appCode", "xxx");
RequestBody body = RequestBody.create(MediaType.parse("application/json;charset=UTF-8"), jsonObject.toString());
Call<ResponseBody> call = RetrofitUtils.getInstance().getAppInfo(body);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
String body = response.body().string();
JSONObject jsonResult = new JSONObject(body);
String result = jsonResult.optString("result");
if (!StringUtils.equals("success", result)) {
return;
}
//服务器返回最新版本号
String versionCode = jsonResult.optString("versionCode");
//下载地址
String downloadUrl = jsonResult.optString("downloadUrl");
//我这里是判断BuildConfig.VERSION_NAME与后台服务器最新的版本进行比较
if (!StringUtils.equals(BuildConfig.VERSION_NAME, versionCode)) {
//有新的apk
int index = downloadUrl.lastIndexOf("/");
String apkName = downloadUrl.substring(index + 1);
UpdateManager updateManager = new UpdateManager(MenuActivity.this, downloadUrl, apkName);
updateManager.showNoticeDialog();
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
}
1、PK下载管理器代码:
package com.hbscit.e