【轉】mui實現APP在線更新版本(mui文件下載)


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM