plus.runtime.install无法安装也无报错信息

plus.runtime.install无法安装也无报错信息,代码如下:

onLoad() {  

this.update();

},

methods: {

update() {

if (this.button === '正在更新') return;

this.button = '正在更新';

/* 准备更新 */

let that = this;

/* 初始化 */

this.dtask = plus.downloader.createDownload(this.url, {}, function(d, status) {

// console.log(JSON.stringify(d));

// 下载完成

if (status == 200) {

// uni.setStorageSync("appFile", {

// ver: that.ver,

// path: d.filename

// });

plus.runtime.install(plus.io.convertLocalFileSystemURL(d.filename), {}, {}, function(error) {

// console.log('error:', error)

// 如果安装本地文件失败, 下载最新文件安装

that.failed();

})

} else {

that.failed();

}

});

/* 开始更新 */

// let file = uni.getStorageSync('appFile');

// console.log(file)

// 使用本地文件更新

// if (file && file.ver == this.ver) {

// this.button = '安装更新';

// this.install(file.path, true);

// }

// 下载新文件

// else {

// 更新进度

this.dtask.addEventListener('statechanged', this.progress);

this.dtask.start();

// }

},

/* 安装进度 */

progress(task) {

if (!this.dtask) return;

switch (task.state) {

case 1:

this.text = '开始下载...';

break;

case 2:

this.text = '下载中...';

break;

case 3:

let progressVal = 0;

progressVal = Math.ceil(task.downloadedSize / task.totalSize * 100);

if (progressVal == 100) {

this.text = '下载完成...';

} else {

this.text = '下载 ' + progressVal + '%';

}

break;

case 4:

this.text = '开始安装...';

break;

}

},

/* 安装失败 */

failed() {

uni.showToast({

icon: "none",

mask: true,

title: '更新失败!请退出重试或向工作人员反映',

duration: 1500

});

setTimeout(function() {

plus.runtime.quit()

}, 1500);

}

}


·回复

已解决

我这边排查不出来错误, 最后定位到是 编辑器版本的问题. 我从 2.6.5 换到 2.5.1 就可以用了。


·回复

大佬怎么解决的?求方法,这两天我快被这个问题折磨疯了。。。我的下载更新代码跟贴中的几乎一样,且没有改动过,突然从某个版本开始就无法弹出安装了(下载完成后未自动执行安装),也不报错。。


·回复

请问一下,我是这样写的,执行的是安装更新失败!失败返回的e为null, 可以帮我看看那错了吗?

以上是 plus.runtime.install无法安装也无报错信息 的全部内容, 来源链接: utcz.com/a/15135.html

回到顶部