在项目做到快结束的时候,需要给用户一个能更新新版本的提示,那么下面就来实现这个功能
首先,我们看看要实现这个新版APK的更新,后台的接口给了我们什么:
然后,简单说一下整体思路:
我们将获取的新版本号和当前应用的版本号进行对比,如果新版本号>当前版本号,说明可以安装新版本,否则不行;
若可以安装新版本,我们就弹出一个对话框询问是否下载最新版本?若用户点击下载新版本,则我们给出一个下载进度框提示下载进度;
下载完毕后,会进入安装界面,点击安装实现安装新版本;
安装完毕后,进入选择“完成”/“打开”界面;
点击打开后就进入该应用的新版本了。思路结束。
那么,具体该如何去实现:请参考以下步骤
一:获取渠道号
新建一个工具类util,里面写获取渠道号的方法
上面要获取渠道号,那有哪些渠道呢?看下面( 例:获取小米的渠道号 )
在Manifest文件中加入下方的橘色框中代码,其name属性是获取渠道号方法中的第二参数key
然后是请求后台的接口并获取返回的字段,下面是返回的字段的信息类
请求接口返回的两个字段,并获取这俩字段(这个每个人请求的方式不大一样,请用自己的方式请求)
来把上面的绿色框部分拿出来看看
那么上面的橘色框的重点是什么?下面来看一下
新建一个UpDateInfoManager更新管理类(比较长,截图分好几张)
看一下下载的过程(使用流下载)
实现APK下载的方法(对上一部分的封装)
最后,实现安装,打开的一条龙服务
结束。