原文地址:https://blog.csdn.net/zxw_future/article/details/88574211
功能描述:实现mui框架开发的app能够在线检测是否有新版本,如果有新版本提示用户进行更新。
实现原理:通过判断当前app版本与网络最新版本进行提示更新。
步骤:
一、获取本地当前App版本。
mui.getJSON("配置文件路径,如:‘../manifest.json’", null, function(manifest){ versionName = manifest.version.name; versionCode = Number(manifest.version.code); mui.toast("版本名称:"+versionName+",版本code:"+versionCode); });
如图:code为版本编号,name为版本名称,版本编号为判断版本是否需要更新的关键。
二、获取网络最新版本信息(如版本编号)。
三、下载新版本(使用mui的下载器进行下载)。
// 开始下载 function dowload (){ var options = {method:"GET"}; dtask = plus.downloader.createDownload(下载链接, options ); dtask.addEventListener( "statechanged", function(task,status){ switch(task.state) { case 1: // 开始 mui.toast("开始下载...") break; case 2: // 已连接到服务器 mui.toast("连接到服务器...") document.getElementById("new_grade_content").innerHTML = "正在下载: break; case 3: // 已接收到数据 alert(task.downloadedSize) // 已下载文件大小 alert(task.totalSize) // 文件大小 break; case 4: // 下载完成 mui.toast("下载完成!") console.log(task.totalSize) plus.io.resolveLocalFileSystemURL(task.filename, function(entry) { alert(entry.toLocalURL()+"") // 显示下载的文件存储绝对地址 console.log(entry.toLocalURL()) //绝对地址 }); alert(task.filename) // 显示下载好的文件名称 break; } } ); dtask.start(); }
四、安装下载好的app
// 判断文件是否存在,不存在则不安装 plus.io.resolveLocalFileSystemURL(plus.storage.getItem("new_app_filename"),function(entry){ // 如果存在进行安装 if(entry.isFile){ plus.runtime.install(app的文件路径, {}, function(){ alert("安装成功") }, function(){ alert("安装失败") }); }else{ // 不存在 alert("文件不存在") } },function(e){});