项目中APP的版本更新使用的是Bugly,感觉不好控制。在网上找了许多资料,无意间发现了DownloadManager这个API提供的工具,特此学习并记录一波。
DownloadManager介绍
DownloadManager是Android2.3(API 9)提供的系统服务,用来处理长时间的下载操作。它可以构建一个后台下载服务,在发生故障或者连接更改、系统重启等情况下自动的处理HTTP连接以及重新下载。使用时其自动为我们开启通知栏,并提供通知栏以及下载文件地址等的管理。
-
Request.VISIBILITY_VISIBLE
在下载进行的过程中,通知栏中会一直显示该下载的Notification,当下载完成时,该Notification会被移除,这是默认的参数值。 -
Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED
在下载过程中通知栏会一直显示该下载的Notification,在下载完成后该Notification会继续显示,直到用户点击该Notification或者消除该Notification。 -
Request.VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION
只有在下载完成后该Notification才会被显示。 -
Request.VISIBILITY_HIDDEN
不显示该下载请求的Notification。如果要使用这个参数,需要在应用的清单文件中加上DOWNLOAD_WITHOUT_NOTIFICATION权限。
基本的使用步骤:(更新APP)
都知道在Android M之后,权限管理相当的重要,我们使用DownloadManage
r进行下载文件(安装更新)时必不可少的使用到网络/读写/安装等权限。
- 清单文件中加入所需权限,并处理好相对于的权限;
Android 8.0
对未知来源的应用进行了权限判断,所以需要在清单文件中加入(最后一条)
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name