迅速公众平台-上海小程序开发专家迅速网络

关注迅速公众平台

迅速公众平台-上海小程序开发专家迅速网络

关注微信联系人

企业电话: 021-64391578
商务联系: 18717819904 林经理
邮件咨询: 1368069293@qq.com

上海迅速网络:高效网站更新解决方案


上海迅速网络,拥有二十年的网站开发经验,致力于提供高效、安全的网站解决方案。

为了适应日新月异的潮流和应用功能,我们不断更新以提供新的功能。

目前许多网站都会有一个版本检测的功能。

当我们点击检查更新时,就会向服务器发起版本检测的请求。一般的处理方式是:服务器返回的版本与当前网站安装的版本号进行对比。

(1) 如果服务器所返回的版本号大于当前版本号,那么此时网站所安装的不是最新版。可以提示用户升级。

(2) 如果不大于当前版本号,可以提示用户为最新版本。

版本升级,也分为两种处理方式:

(1) 跳转到某市场,然后根据包名在市场定位到该,通过市场下载更新安装。

(2) 在本中实现Apk下载,下载完成后更新安装。

那么如何实现在本中Apk下载,下载完成后更新安装,不必另外跳转到市场下载安装呢?

内容大致分为以下几个部分:

(1) 版本检测;

(2) Apk下载;

(3) Apk更新安装;

基于以上4部分,我们逐一展开。

1. 版本检测:

要实现的更新下载,前提是服务器要保存一个的版本号。当用户去手动检测版本,或者进入首页自动检测时,第一步是需要请求服务器的版本号,拿到版本号之后与当前版本号进行对比。服务器返回的版本号大于当前版本号,证明已经有更新,那么进入第2步。

2. Apk下载:

Apk文件是保存在服务器的。我们可以通过Http流将其下载到本地手机,然后更新安装。Android中下载的方式很多种:HttpUrlConnection, Retrofit, okHttp, 以及android原生的下载工具类DownLoadManager等等。我们采用的方式是Google推荐的下载工具类DownLoadManager。关于DownLoadManager的使用其实很简单,简单概括如下:

(1) 通过getSystemService获取DownLoadManager。

(2) 初始化DownLoadManager的Request,构建下载请求。

(3) 调用DownLoadManager的enqueue异步发起请求,该方法返回值为标识当前下载任务的id,即downloadId。

(4) 当下载完成后,系统会发出条件为android.intent.action.DOWNLOAD_COMPLETE的广播,我们可以自定义广播接受器,然后在onReceive中处理下载完成的逻辑即可。

此时出现一个问题:当我们下载完成后,并没有安装。当用户再次进入时该如何操作?

一般是再去下载一次,然后继续执行更新安装。这种方式是没有错误的,但是如果用户恶意行为,每次下载完成都不安装,那我们岂不是每次都要去下载100次,1000次。很明显,这种方式肯定是不能采用的。那么我们该如何解决呢?

当我们在下载之前,可以先去指定的文件夹下查看是否已经下载好Apk,并且该Apk的版本是高于本的版本,此时我们就去执行安装操作。如果上面条件不成立,此时再去执行下载操作。

3. Apk更新安装:

(1) 通过downloadId获取下载的Uri。

(2) 将Uri设置到Intent的setDataAndType作为启动条件。

(3) 调用startActivity启动对应Intent即可。

以上3步,即可完成的更新功能。

整体的流程非常清晰:

版本检测 → Apk下载(检查是否存在未安装的Apk) → Apk安装 → 完成更新

如果您需要更多信息,请联系专家张先生,电话:13916016158,或访问上海迅速网络官方网站:www.webws.com。

优化完后再帮我在重新处理下格式,不要在文章中出现网站。


相关推荐
专业网站开发,打造卓越在线体验
视频直播网站开发功能简介
共享茶室网站开发市场前景概述
智慧交通网站开发,方便人们查询出行路况
垃圾回收网站开发后功能是如何实现的|垃圾回收网站开发多少钱?

特别申明:本站的主旨在于收集互联网运营相关的干货知识,给运营小伙伴提供便利。 网站所收集到的公开内容均来自于互联网或用户投稿,并不代表本站认同其观点, 也不对网站内容的真实性负责,如有侵权,请联系站长删除

业务联系

迅速服务号
扫码添加微信好友
我们来联系您