-
Notifications
You must be signed in to change notification settings - Fork 257
FileChecker
Haoge edited this page Aug 6, 2018
·
2 revisions
用于对下载下来的apk进行检查。当检查成功后,才可进行安装。 检查时机有两个:
- 当检查到有更新,在启动下载任务前。触发检查。当检查成功,则跳过下载任务。进行后续操作。
- 在启动apk安装前,触发检查。当检查成功,请求调用安装操作。
[UpdateConfig.getConfig() / UpdateBuilder.create()]
.setFileChecker(checker);
- 若Update.getMd5()为空时。使用PackageManager读取apk的版本信息并与Update.versionCode比对
- 若Update.getMd5()不为空。则计算apk的md5值并与Update.md5值进行比对。
- 若为在onCheckBeforeInstall(),即下载完成后启动安装任务之前的检查。当此时检查失败。则删除apk文件。
public class Checker extends FileChecker {
// 父类提供的数据。
protected Update update;
protected File file;
@Override
public boolean onCheckBeforeDownload() throws Exception {
// 当FileCreator接口所创建的文件存在时,在检查到有更新且在启动下载任务前。触发检查
// 返回true:检查成功。跳过下载任务并继续后续任务. 返回false:检查失败。执行下载任务并继续后续任务
return true;
}
@Override
public void onCheckBeforeInstall() throws Exception {
// 在调用安装apk的api之前,触发检查。
// 不抛出异常: 检查成功,调用安装api进行操作。
// 抛出异常: 检查失败。此次更新任务失败。通知到回调方法。
}
}