WebAPP は自動更新機能を実装しています - バックグラウンドで APK をダウンロードし、ダウンロード後に自動的に開きます
1. 準備: cordova プラグインの追加 ( cordova-plugin-file、cordova-plugin-file-transfer、cordova-plugin-file-opener2、cordova-plugin-app-version )
2.コードを直接アップロードして自動更新機能を実現
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.自動更新機能の実現(ご不明な点がございましたら、QQ:992899491まで)
4. レンダリング