uniapp应用内升级
2023-12-22 15:46:09
一、权限
manifest.json-APP权限设置需勾选:
“<uses-permission android:name=“android.permission.INSTALL_PACKAGES”/>”,
“<uses-permission android:name=“android.permission.REQUEST_INSTALL_PACKAGES”/>”
二、下载与安装
const downloadTask = plus.downloader.createDownload(
"https://led.szhpzy.com/file/assets/abc.apk",
{
method: "GET",
},
(task, status) => {
console.log(status, "status");
if (status == 200) {
//下载成功
console.log(task.filename);
plus.runtime.install(
task.filename,
{
force: true,
},
function () {
console.log(888);
// 安装成功,可以重启应用
plus.runtime.restart();
},
function (e) {
// 安装失败,处理错误
console.error("安装失败: " + e.message);
}
);
} else {
uni.showToast({
title: "下载失败",
icon: "error",
});
}
}
);
//监听下载过程
downloadTask.addEventListener("statechanged", (task, status) => {
switch (task.state) {
case 1: // 开始
console.log("开始");
break;
case 2: //已连接到服务器
console.log("已连接到服务器");
break;
case 3: // 已接收到数据
console.log("已接收到数据 ");
let hasProgress = task.totalSize && task.totalSize > 0; //是否能获取到App大小
if (hasProgress) {
let current = parseInt(
(100 * task.downloadedSize) / task.totalSize
); //获取下载进度百分比
console.log(current);
}
break;
case 4: // 下载完成
console.log("下载完成");
break;
}
});
//开始执行下载
downloadTask.start();
文章来源:https://blog.csdn.net/lcc2001/article/details/135153473
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!