一、前言
在Android开发中,经常会使用到文件下载的功能,比如app版本更新等。在api level 9之后,android系统为我们提供了DownLoadManager类,这是android提供的系统服务,整个下载过程全部交给系统负责,不需要我们过多的处理。
二、DownloadManager的使用
通过API文档,可以看出DownLoadManager包含两个内部类:
- DownLoadManager.Query:主要用于查询下载信息。
- DownLoadManager.Request:主要用于发起一个下载请求。
代码示例
private void downLoadApk() {
//创建request对象
DownloadManager.Request request=new DownloadManager.Request(Uri.parse("http://gdown.baidu.com/data/wisegame/55dc62995fe9ba82/jinritoutiao_448.apk"));
//设置什么网络情况下可以下载
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI);
//设置通知栏的标题
request.setTitle("下载");
//设置通知栏的message
request.setDescription("今日头条正在下载.....");
//设置漫游状态下是否可以下载
request.setAllowedOverRoaming(false);
//设置文件存放目录
request.setDestinationInExternalFilesDir(this, Environment.DIRECTORY_DOWNLOADS,"update.apk");
//获取系统服务
downloadManager= (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
//进行下载
id = downloadManager.enqueue(request