uni-app AndroidAPP 自动下载更新

文章描述了一个使用Vue.js和PlusNativeAPI实现的应用,通过`createDownload`函数下载升级包,并在下载过程中显示进度条。当下载完成时,会自动安装并重启应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var dtask = plus.downloader.createDownload(
					res.data[0].fileUrl, {
						filename: "_downloads/",
					},
					function(d, status) {
						// 下载完成
						if (status == 200) {
							plus.runtime.install(
								d.filename, {
									force: true,
								},
								function() {
									//进行重新启动;

									plus.runtime.restart();
									this.$store.commit('SET_ISDOWNLOAD', false)
								},
								(e) => {
									uni.showToast({
										title: "安装升级包失败:" +
											JSON
											.stringify(
												e),
										icon: "none",
									});
								}
							);
						} else {
							this.tui.toast(
								"下载升级包失败,请手动去站点下载安装,错误码: " +
								status
							);
						}
					}
				);

				let view = new plus.nativeObj.View("maskView", {
					backgroundColor: "rgba(0,0,0,.6)",
					left: plus.screen.resolutionWidth / 2 - 45 +
						"px",
					bottom: "80px",
					width: "90px",
					height: "30px",
				});

				view.drawText(
					"开始下载", {}, {
						size: "12px",
						color: "#FFFFFF",
					}
				);

				view.show();

				dtask.addEventListener(
					"statechanged",
					(e) => {
						if (e && e.downloadedSize > 0) {

							let jindu = e.totalSize > 0 ? (
								(e.downloadedSize / e.totalSize) * 100
							).toFixed(2) : 0;
							jindu = jindu > 100 ? 100 : jindu
							view.reset();
							view.drawText(
								"下载进度:" + jindu + "%", {}, {
									size: "12px",
									color: "#FFFFFF",
								}
							);
						}
					},

					false
				);
				dtask.start();Ï

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值