首页 > 代码库 > android download manager

android download manager

下载管理器,有个哥们写得很好了http://www.trinea.cn/android/android-downloadmanager/

  • 下载后台通知
  • 下载管理器内容交互

最近对内部业务逻辑整理了一下

a.处理正在下载的内容

b.处理下载完成的内容

对于下载业务,用户对事件的敏感程度分为:

a类:是否开始下载了,下载是否完成了

b类:下载进度如何,大概还有多长时间下载完成
1 正在下载是一个比较耗时的操作,我们不会给到一个屏幕一直展示下载进度,但我们仍然希望给到用户提示。

android 的notification就是专门解决这种问题而产生的,在systemui里面专门有块区域来显示通知,它占用地方比较小,在最小化打扰用户操作的情况下给予提示。

通知栏根据设计,目前显示采用的策略是:

对于下载完成,每个下载做出提示;点击通知,它能回到发起下载的应用

对于正在下载有一个的情况,显示具体进度,有多个正在下载显示有几个下载;

点击采用的策略是:

下载完成通知的点击后回到下载provider的DownloadReceiver中;在广播接收器中启动下载的应用或者发送DownloadManager.ACTION_NOTIFICATION_CLICKED广播到对应的应用。

 正在下载通知点击后直接进入下载管理器界面

下载管理器管理了一系列下载,他组织并代理了其他单独应用程序的下载,包括下载控制(暂停,继续,结束),下载内容打开;有时候用户还比较关心这个内容是谁的。

对于这些,用户在下载发起时,设置策略,在这里执行。

对于下载控制,调用DownloadManager接口实现下载,下载内容通过ContentProvider监听更新