正文
DownloadManager
是处理长时间HTTP下载的系统服务。客户端可以将指定内容下载到某一特定的目录。
DownloadManager
会在后台进行下载工作,自己会处理下载失败、网络变换或系统重启等问题。可以通过下面的方法获取到
DownloadManager
对象,代码如下:
DownloadManager mDownloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
一般使用 DownloadManager 时,应用需要注册一个可以接受
ACTION_NOTIFICATION_CLICKED
的广播接收器,用于恰当处理用户点击通知栏中的下载界面时的情形。另外,当使用 DownloadManager 时应用需要应具有
INTERNET权限
。
DownloadManager 一般用于软件更新、视频等的的下载任务,在通知栏中可以看到一个下载进度条,这种情形一般都是通过 DownloadManager 实现的。使用步骤由如下几步:
初始化DownloadManager.Request对象
DownloadManager.Request类
包含了一个下载请求的所有必要信息。构造方法中只需要传入下载的URI,默认的文件存储地址是一个共享卷,当系统需要回收空间时可以能会删除下载文件。如果需要避免这种情况,可以使用
setDestinationUrl(Uri)
设置外部存储路径。