WebAPP implementa la función de actualización automática: descargue APK en segundo plano y ábralo automáticamente después de descargarlo
1. Preparativos: agregue complementos cordova ( cordova-plugin-file , cordova-plugin-file-transfer , cordova-plugin-file-opener2 , cordova-plugin-app-version )
2. Cargue directamente el código para realizar la función de actualización automática
1>、第一步 判断APP版本号是否相同
cordova.getAppVersion().then(function (version) {
var serverAppVersion = result.data.version;
console.log(version+" "+serverAppVersion);
//如果本地于服务端的APP版本不符合
if (version != serverAppVersion) {
$.ckjIndex.showUpdateConfirm(result.data.update_remake);
}
});
2>、第二步 显示模板,提问是否需要升级
showUpdateConfirm: function(APPdesc) {
$.ui.popup({
title:"版本升级",
message: APPdesc, //从服务端获取更新的内容
cancelText:"忽略",
cancelCallback: null,
doneText:"升级",
supressFooter:false,
cancelClass:'button',
doneClass:'button',
doneCallback: function () {
$.ckjIndex.getappUpdataINFO();
},
cancelOnly:false,
blockUI:true
});
}
3>、第三步 调用下载方法,将APP下载到本地并用open方法打开需要安装的APP报,进行新包的安装
getappUpdataINFO: function() {
var fileTransfer = new FileTransfer();
var url = $.ckjIndex.cfg.APPurl;
var targetPath = cordova.file.externalRootDirectory+'fengchaoEshequ.apk';
fileTransfer.download(
url,
targetPath,
function(success) {
console.log("download complete: " + success.fullPath);
cordova.plugins.fileOpener2.open(
targetPath,
"application/vnd.android.package-archive",
{
success: successCallback,
error: errorCallback,
}
);
},
function(error) {
console.log(error);
$.vv.tip({content: '下载APP失败', time:1000});
}
);
function successCallback(){
console.log("****************/打开成功/******************");
}
function errorCallback(e){
console.log("****************/打开失败/******************");
console.log(e);
}
}
3. Realización de la función de actualización automática (si tiene alguna pregunta, puede QQ: 992899491)
4. Representación