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