将手机上应用版本号等相关信息发送到服务器,服务器检测是否有新版本。如果有新版本,将返回客户端版本号、版本名称、下载地址、版本更新说明等信息。客户端获取到此信息后,将询问用户是否下载,确定后,开始下载。下载完成后开始提示安装。
调用系统DownloadManager实现下载:
DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request( 版本下载地址);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "xxx.apk");//将apk下载到download默认目录
request.allowScanningByMediaScanner();
request.setMimeType("application/cn.trinea.download.file");
long downloadId = downloadManager.enqueue(request);//每个下载请求对应一个downloadId
PrefUtils.setLong(PrefUtils.DOWNLOAD_ID, downloadId);//暂存到Preference中
下载完成后,将发送DownloadManager.ACTION_DOWNLOAD_COMPLETE广播。因此需要建立一个Broadcast Receiver来接收广播,确认下载成功后进行安装提示。
public class DownloadCompleteReceiver exten