参考Android系统下载管理DownloadManager
Android DownLoadManager 使用
DownloadManager使用及进度更新
一、DownloadManager
DownloadManger是android 2.3(api level 9)开始 提供的用于优化处理长时间的下载操作。DownloadManager 处理Http/Https连接并监控连接中的状态变化及系统重启来确保每一个下载任务顺利完成。大多数涉及到下载的情况中使用DownloadManager都是很好的选择,尤其是后台继续下载,下载状态回调,断点续传,下载环境设置,下载文件的操作等方面,支持的很好
DownloadManager是系统开放给第三方应用使用的类,包含两个静态内部类DownloadManager.Query和DownloadManager.Request。DownloadManager.Request用来请求一个下载,DownloadManager.Query用来查询下载信息
二、DownloadManager使用
DownloadManager主要对外提供了以下接口:
接口 | 作用 |
---|---|
public long enqueue(Request request) | 执行下载,返回downloadId,downloadId可用于后面查询下载信息。若网络不满足条件、Sdcard挂载中、超过最大并发数等异常会等待下载,正常则直接下载。 |
int remove(long… ids) | 删除下载,若下载中取消下载。会同时删除下载文件和记录。 |
Cursor query(Query query) | 查询下载信息。 |
getMaxBytesOverMobile(Context context) | 返回移动网络下载的最大值 |
rename(Context context, long id, String displayName) | 重命名已下载项的名字 |
getRecommendedMaxBytesOverMobile(Context context) | 获取建议的移动网络下载的大小 |
所需权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>