在前人的基础上更改的。
源代码的下载地址
项目地址:UpdateAppDemo
自己根据项目改了些内容
效果如下图:
思路是先获取本地的版本号。
(1)在根据后台返回的版本号作对比。如果相同,那就不用更新,反之就去更新。
(2)弹框之后选择更新,在UpdateAppUtils里更改了方法
public void realUpdate() {
new ConfirmDialog(activity, new Callback() {
@Override
public void callback(int position) {
if (position == 1) { //点击了下载
//先去判断是否存在此apk,如果存在就去删除,在去下载
File file = new File(Environment.getExternalStorageDirectory(), "SHOUYIN.apk");
if (file != null && file.exists()) {
file.delete();
}
DownloadAppUtils.download(activity, apkPath, "SHOUYIN.apk");
}
}
}).setContent("确认是否继续下载更新?").show();
}
(3)在UpdateAppReceiver里增加了发消息的代码
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 1:
//给主界面发消息
Intent myIntent = new Intent("android.intent.action.MAIN");
myIntent.putExtra("data",msg.obj+"");
context.sendBroadcast(myIntent);
break;
}
}
};
if (UpdateAppUtils.showNotification) {
......
//如果想要在APP的界面显示提示。需要异步任务,动态更改进度条的数据
Message message = handler.obtainMessage();
message.what = 1;
message.obj = progress;
handler.sendMessage(message);
完整的代码:
https://download.csdn.net/download/qq_30299243/11032957