Android中使用DownloadManager类来管理数据下载的教程

2019-12-10 18:07:49丽君
  • DownloadManager.Request  setMimeType(String mimeType)  //设置mime类型,这里看服务器配置,一般国家化的都为utf-8编码。
  • DownloadManager.Request  setShowRunningNotification(boolean show)  //是否显示下载进度的提示
  • DownloadManager.Request  setTitle(CharSequence title)  //设置notification的标题
  • DownloadManager.Request  setVisibleInDownloadsUi(boolean isVisible)  //设置下载管理类在处理过程中的界面是否显示
  • 当然了Google还提供了一个简单的方法来实例化本类,这个构造方法为DownloadManager.Request(Uri uri) ,我们直接填写一个Uri即可,上面的设置使用默认情况。

    二、DownloadManager.Query类

    对于当前下载内容的状态,我们可以使用DownloadManager.Query类来获取,本类比较简单,仅仅提供了两个方法。

    • DownloadManager.Query  setFilterById(long... ids)  //根据id来过滤查找。
    • DownloadManager.Query  setFilterByStatus(int flags) //根据任务的状态来查找。

      详细的状态在android.app.DownloadManager类中有定义,目前Android 2.3中的定义为:

      • int STATUS_FAILED 失败
      • int STATUS_PAUSED 暂停
      • int STATUS_PENDING 等待将开始
      • int STATUS_RUNNING 正在处理中
      • int STATUS_SUCCESSFUL 已经下载成功

        最后Android开发网提醒大家要说的是因为DownloadManager类提供的query方法返回一个Cursor对象,这些状态保存在这个游标的COLUMN_STATUS 字段中。

        1. 下载的状态完成均是以广播的形式通知大家,目前API Level为9定义了下面三种Intent的action
        (1)ACTION_DOWNLOAD_COMPLETE下载完成的动作。
        (2)ACTION_NOTIFICATION_CLICKED 当用户单击notification中下载管理的某项时触发。