Interface Info |
|---|
public interface AppUpdateClient AppUpdateClient类定义了应用升级相关功能的方法,在调用JosApps.getAppUpdateClient类时会返回该实例。 |
Qualifier and Type | Method Name and Description |
|---|---|
void | checkAppUpdate(Context context, CheckUpdateCallBack callBack) 检测应用新版本。 |
void | showUpdateDialog(Context context, ApkUpgradeInfo info,boolean mustBtnOne) 弹出应用升级提示框。 |
void | 释放回调。 |
Method |
|---|
public void checkAppUpdate(Context context, CheckUpdateCallBack callBack) 应用启动并完成初始化后,或用户主动检测更新时,应用可以调用此方法查询新版本。 |
Parameters
Name | Description |
|---|---|
context | 应用客户端的Context。 |
callBack | 检测版本更新的回调结果。CheckUpdateCallBack定义如下: public interface CheckUpdateCallBack {
//从应用市场获取的更新状态信息。
//intent中包含参数见intent表。
void onUpdateInfo(Intent intent);
//以下方法预留,无需处理
void onMarketInstallInfo(Intent intent);
//以下方法预留,无需处理
void onMarketStoreError(int responseCode);
//以下方法预留,无需处理
void onUpdateStoreError(int responseCode);
} |
参数名 | 获取方法 | 类型 | 说明 |
|---|---|---|---|
status | intent.getIntExtra(UpdateKey.STATUS, DEFAULT_VALUE) 说明:DEFAULT_VALUE为获取不到UpdateKey.STATUS时自定义的默认值。 | int | 应用更新的状态信息,取值如下:
|
rtnCode | intent.getIntExtra(UpdateKey.FAIL_CODE, DEFAULT_VALUE) 说明:DEFAULT_VALUE为获取不到UpdateKey.FAIL_CODE时自定义的默认值。 | int | 更新操作返回的错误码。
|
reason | intent.getStringExtra(UpdateKey.FAIL_REASON) | String | 错误码对应的失败描述。 |
isExit | intent.getBooleanExtra(UpdateKey.MUST_UPDATE, false) | boolean | 强制更新状态下用户是否取消了更新。
|
buttonStatus | intent.getIntExtra(UpdateKey.BUTTON_STATUS, DEFAULT_VALUE) 说明:DEFAULT_VALUE为获取不到UpdateKey.BUTTON_STATUS时自定义的默认值。 | int | 非强制更新状态用户点击立即更新还是以后再说。
|
info | intent.getSerializableExtra(UpdateKey.INFO) | Serializable | 检查到更新后应用的更新信息,参见ApkUpgradeInfo。 |
Sample Code
private static class UpdateCallBack implements CheckUpdateCallBack { public void onUpdateInfo(Intent intent) { if (intent != null) { //更新状态信息 int status = intent.getIntExtra(UpdateKey.STATUS, -1); //返回错误码,建议打印 int rtnCode = intent.getIntExtra(UpdateKey.FAIL_CODE, -1); //失败信息,建议打印 String reason = intent.getStringExtra(UpdateKey.FAIL_REASON); //是否强制更新应用,弹出对话框后按了返回键,整个应用退出 boolean isExit = intent.getBooleanExtra(UpdateKey.MUST_UPDATE, false); //更新弹框点击,点击立即更新还是以后再说 int buttonStatus = intent.getIntExtra(UpdateKey.BUTTON_STATUS, -1); //获取更新信息 Serializable info = intent.getSerializableExtra(UpdateKey.INFO); String updateContent = null; if (info instanceof ApkUpgradeInfo) { ApkUpgradeInfo upgradeInfo = (ApkUpgradeInfo) info; //弹出升级提示框 client.showUpdateDialog(this, upgradeInfo, false); updateContent = upgradeInfo.toString(); Log.e(TAG, "onUpdateInfo status: " + status + ",failcause: " + rtnCode + ",isExit: " + isExit + ",updateInfo: " + info.toString()); } } } public void onMarketInstallInfo (Intent intent){ //预留方法,无需处理 } public void onMarketStoreError ( int responseCode){ //预留方法,无需处理 } public void onUpdateStoreError ( int responseCode){ //预留方法,无需处理 } }
Method |
|---|
public void showUpdateDialog(Context context, ApkUpgradeInfo info,boolean mustBtnOne) 在检测到应用有新版本更新时,应用可以调用此方法手动弹出应用升级提示框。 |
Parameters
Name | Description |
|---|---|
context | 应用客户端的Context。 |
info | 检测到的更新信息,具体参数参见ApkUpgradeInfo。 |
mustBtnOne | 强制更新按钮选择。
|