WebAPP实现自动更新功能

来源:互联网 发布:拜占庭 知乎 编辑:程序博客网 时间:2024/06/11 19:36

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.效果图
自动更新效果图

0 0
原创粉丝点击