进阶
获取本地离线包版本
/**
* 获取本地离线包的版本
*/
public static String getBizVersion(final Context context, final String businessId)
使用示例:
String version = mOfflineManager.getBizVersion(context, "testBid");//testBid为离线包Bid
删除本地离线包
/**
* 清理指定离线包(同步接口)
*
* @param businessIds 要清理的离线包id列表
* @return 清理成功的离线包id列表
*/
public static List<String> deleteBiz(final Context context, final List<String> businessIds)
使用示例:
//要删除的本地离线包Bid
List<String> bids = new ArrayList<>();
bids.add("testBid");
mOfflineManager.deleteBiz(context, bids);
全量检查更新
全量检查是指检查所有离线包是否有新版。
/**
* 检查所有最新离线包的更新
*
* @param updateSetting
* @param callback
*/
public void checkAllUpdate(UpdateSetting updateSetting, final IOfflineUpdateCallback callback)
使用场景:
首次启动之后,想确保所有离线包更新到最新版。不过需要注意的是,全量检查更新时应将自动下载安装功能关闭,否则可能会导致后台下载大量离线包新版,影响用户体验。
使用示例:
UpdateSetting updateSetting = new UpdateSetting();
updateSetting.isDownload = false; //关闭自动下载功能,仅做版本检查
mOfflineManager.checkAllUpdate(updateSetting, new IOfflineUpdateCallback() {
@Override
public void update(int i, List<UpdateEntity> list) {
if (i == OfflineManager.CHECK_CODE_SUCC_NO_UPDATE) {
// 无更新
} else if (i == OfflineManager.CHECK_CODE_IGNORE_HAD_UPDATE_IN_A_SHORT_TIME) {
// 不要频繁更新
} else {
// 有更新,list中是有更新的离线包信息
}
}
@Override
public void downloadProgress(ProgressEntity progressEntity) {
}
@Override
public void downloadFinish(DownloadInfo downloadInfo) {
}
});