Android版本更新之更新进度显示与下载完成后跳转安装

在平时的Android开发中,版本更新是避免不了的事情(利用跨平台热更新另算),此博文主要介绍一下版本更新时候显示app下载进度以及下载完毕后直接跳转安装界面的操作.

1. App下载与下载进度的展示

1.1 使用的下载类库,下载地址百度一下即可:

​ xUtils

1.2 代码
1.2.1 申明一下下载进度显示的控件ProgressDialog
1
private ProgressDialog progressDialog;
1.2.2 初始化ProgressDialog
1
2
3
4
progressDialog = new ProgressDialog(this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setCancelable(false);
progressDialog.show();
1.2.3 下载方法及显示下载进度
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
String downloadUrl = "http://192.168.1.252:8080/TestSomething/app-release.apk";
final String apkPath = "mnt/sdcard/Download/app-release.apk";
HttpUtils httpUtils = new HttpUtils();
// xUtils的download方法传递三个参数 第一个是下载的apk地址 第二个是目标地址,也就是本地存储地址 第三个是下载情况的回调
httpUtils.download(downloadUrl, apkPath, new RequestCallBack<File>() {
@Override
public void onSuccess(ResponseInfo<File> responseInfo) {
progressDialog.dismiss();
// 下载成功 安装
}

@Override
public void onFailure(HttpException e, String s) {
progressDialog.dismiss();
}


// total 下载的文件的总大小
// current 当前下载过的文件大小
@Override
public void onLoading(long total, long current, boolean isUploading) {
super.onLoading(total, current, isUploading);
progressDialog.setMax((int) total);
progressDialog.setProgress((int) current);
}
});

至此,下载代码及下载进度显示的代码完毕..

2.下载完成后跳转安装

在下载完成的回调中添加:

1
2
3
4
5
6
7
8
9
10
@Override
public void onSuccess(ResponseInfo<File> responseInfo) {
progressDialog.dismiss();
// 下载成功 安装
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.setDataAndType(Uri.fromFile(new File(apkPath)), "application/vnd.android.package-archive");
startActivity(intent);
}
-------------本文结束 感谢您的阅读-------------

本文标题:Android版本更新之更新进度显示与下载完成后跳转安装

文章作者:西湖长剑

发布时间:2018年12月28日 - 16:12

最后更新:2018年12月28日 - 17:12

原始链接:http://www.xlgz520.com/2018/12/28/Android版本更新之更新进度显示与下载完成后跳转安装/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%