原文地址: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){});