Android中使用DownloadManager进行下载操作
来源:互联网 发布:java assert 编辑:程序博客网 时间:2024/06/07 02:10
前言
本文介绍对DownloadManager的使用,即实战教程。由于代码量不大,就不托管了,把主要代码直接贴在了下面。
Download Manager引进于API Level9(android2.3)。DownLoadManager可以实现对Http连接,监控链接变化,下载状态等。
DownLoadManager是一个系统服务,可以通过应用上下文获取,getSystemService(DOWNLOAD_SERVICE)获得:
DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
开启权限
另外,也是最重要的一点,记得开启网络请求权限哦!
<uses-permission android:name="android.permission.INTERNET" />
创建Request
Uri downUri = Uri.parse(url);DownloadManager.Request request = new DownloadManager.Request(downUri);
此时Request创建完成。DownLoadManager会在下载时在通知栏显示下载进度。可以通过request对下载进度条的样式进行设置。
设定Notification
//自定义通知,设置在将Request设置进队列之前,否则无效。 request.setTitle("weixin"); request.setDescription("现在我的文件正在下载....."); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
其中request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
方法是对Notification的显隐状态进行设定。
状态类型有以下几个:
设定下载路径
request.setDestinationInExternalFilesDir(); request.setDestinationInExternalPublicDir(); request.setDestinationUri();
开启下载
long reference = downloadManager.enqueue(request);//获取的reference实际上就是下载任务的id,可以通过该id对下载进行操作,包括状态监听,查询,溢出等
查询下载
Cursor cursor = downloadManager.query(new DownloadManager.Query().setFilterById(reference));
对于Cursor不是太了解的同学,可以百度一下。
这里说明一下,DownLoadManager的Cursor的参数:
DownloadManager的一些Intent
Broadcast的Intent:
- ACTION_DOWNLOAD_COMPLETE:当下载完毕时由DownloadManager发送的广播。携带的信息:
EXTRA_DOWNLOAD_ID
- ACTION_NOTIFICATION_CLICKED:当用户点击正在运行的下载时(Notification)由DownloadManager发出的广播。携带的信息
EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS
开启Activity的Intent:
- ACTION_VIEW_DOWNLOADS:将会打开一下展示所有下载的Activity。可以携带的extra是
INTENT_EXTRAS_SORT_BY_SIZE
0 0
- Android中使用DownloadManager进行下载操作
- 使用Downloadmanager进行下载
- 使用DownloadManager进行文件下载
- [Android开发] 使用DownloadManager下载
- Android使用DownloadManager下载文件
- Android中使用DownloadManager类来管理数据下载
- Android中使用DownloadManager下载并安装apk
- Android使用Downloadmanager进行下载时,鉴别取消下载和下载完成的广播
- android中 DownloadManager的使用
- Android中DownLoadManager的使用
- Android 中 DownLoadManager 实现文件下载
- Android 中 DownLoadManager 实现文件下载
- 使用Android自带DownloadManager下载文件
- android开发(23)使用DownloadManager下载文件
- 使用Android自带DownloadManager下载文件
- 使用Android自带DownloadManager下载文件
- 使用Android自带DownloadManager下载文件
- 使用Android自带DownloadManager下载文件
- H-Index II | Java最短代码实现
- 源码解析Android中View的measure量算过程
- 管理后台作业相关命令 fg,bg,ctrl+z
- mybatis 批量增删改查的几种情况
- oracle关于批量修改表空间的方法
- Android中使用DownloadManager进行下载操作
- GN算法
- HTML5+JavaScript制作坦克大战游戏——学习笔记二
- Latex.exe 已停止工作 underfull \hobx (badness 10000) has occurred while \output is activeBuffer size exc
- 使用闭包实现显示隐藏div
- 欢迎使用CSDN-markdown编辑器
- JavaScript学习笔记——基本包装类型(上)Boolean、Number
- 源码编译安装 MySQL 5.5.x 实践
- 课题研究启动——厚积薄发