思路步骤:向服务器请求当前版本,如果服务器版本高于当前版本则返回新版本号,更新日志,新版下载地址,然后APP端下载新版APK并进行安装。
代码如下:
appcan.widgetOne.getCurrentWidgetInfo(function(error, data) {
var json = parse_result(data);
set_val('version', json.version)
});
setTimeout(check_update(), 500);
//检查新版本并下载更新
function check_update() {
ajax({
data: {
script_name: 'version',
act: 'check_update',
version: get_val('version'),
os: platform()
},
success: cb_check_update,
})
}
function cb_check_update(data) {
var json = parse_result(data);
xie = '\/';
xie2 = '/'db_url = json.db_url db_url = db_url.replace(xie, xie2);
set_val('db_url', db_url) var xie = new RegExp("br", "g");
xie2 = '\n'content = json.content content = content.replace(xie, xie2);
switch (json.error) {
case 1:
if (platform() == 'android') {
open_confirm({
title: json.message,
message: content,
callback: function(data) {
if (data == 1) {
update_new()
}
}
})
} else if (platform() == 'ios') {
open_browser(content)
}
break
}
}
function update_new() {
//安装下载开始
var db_url = pop_val('db_url');
var down_path = 'file:///sdcard/huashengbaihuo.apk';
var downloader = uexDownloaderMgr.create();
var down_logings = '<div class="updata_apk" id="updata_apk"><div class="uv tx-c uinn-p2">正在下载</div><div class="clear1"></div><div class="ub" id="logding"><span id="logdings"></span></div></div>'$('body').after(down_logings);
uexDownloaderMgr.download(downloader, db_url, down_path, 1,
function(fileSize, percent, status) {
switch (status) {
case 0:
$("#logdings").css('width', percent + "%");
return;
break;
case 1:
$("#updata_apk").addClass('uhide') uexDownloaderMgr.closeDownloader(downloader) setTimeout(function() {
uexWidgetOne.exit(0)
},
100);
uexWidget.installApp(down_path);
break;
case 2:
alert("文件创建失败") uexDownloaderMgr.closeDownloader(downloader) break;
}
});
}
结束。
