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

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

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

a.处理正在下载的内容

b.处理下载完成的内容

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

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

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

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

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

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

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

点击采用的策略是:

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

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

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

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

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

android download manager的更多相关文章

  1. android的download manager(1)

    android 2.3中引入了Download manager.作为一个service来优化长时间下载操作的处理.Download Manager通过处理HTTP链接.监控链接的变化和系统又一次启动来 ...

  2. Android SDK Manager 更新代理配置

    转自:http://www.cnblogs.com/tao560532/p/4483067.html 出现问题: 消除SDK更新时,有可能会出现这样的错误:Download interrupted: ...

  3. Download Manager

    从Android 2.3(API level 9)开始Android用系统服务(Service)的方式提供了Download Manager来优化处理长时间的下载操作.Download Manager ...

  4. Android SDK Manager无法更新的解决办法

    Fetching https://dl-ssl.google.com/android/repository/addons_list-1.xmlFailed to fetch URL https://d ...

  5. 运用Android ROM Manager应用安装ClockworkMod Recovery的详细教程

    在安装ClockworkMod Recovery恢复模式之前,建议先认识下Google Android平台的ClockworkMod Recovery恢复模式 对于Android ROM Manage ...

  6. Android SDK Manager 更新时的“https://dl-ssl.google.com refused”错误

    Android SDK Manager 消除SDK更新时的“https://dl-ssl.google.com refused”错误 消除SDK更新时,有可能会出现这样的错误:Download int ...

  7. Android SDK Manager 无法下载Android8.1.0(API 27) SDK Platform

    在Android SDK Manager 中安装Android 8.1.0 SDK Platform时报错导致无法安装. 错误信息:Downloading SDK Platform Android 8 ...

  8. [已解决]从微软合作伙伴资源和MSDN下载系统和软件Microsoft download Manager无效

    有个itellyou,更新了所有MSDN的软件包.如果自己有微软的注册账户,还是从微软官网下载比较好.而且对自己账户里的系统和itellyou里的做了对比.发现SHA1码不相同,估计官方分配的序列号也 ...

  9. Internet Download Manager 6.27.1 中文特别版(IDM)

    软件介绍: 软件名称:Internet Download Manager(IDM) 软件大小:5.09M软件语言:简体中文 软件官网:http://www.internetdownloadmanage ...

随机推荐

  1. SQL Server 数据库的维护(四)__游标(cursor)

    --维护数据库-- --游标(cursor)-- --概述: 注:使用select语句查询结果的结果集是一个整体,如果想每次处理一行或一部分行数据,游标可以提供这种处理机制.可以将游标理解为指针.指针 ...

  2. 带隙基准(Bandgap,BG)

    Bandgap voltage reference,常常有人简单地称它为Bandgap.最经典的带隙基准是利用一个与温度成正比的电压与一个与温度成反比的电压之和,二者温度系数相互抵消,实现与温度无关的 ...

  3. react-组件生命周期

    本文同步至微信公众号http://mp.weixin.qq.com/s?__biz=MzAxMzgwNDU3Mg==&mid=402267570&idx=1&sn=4b0dc2 ...

  4. SQL笔记1:SELECT及SELECT高级应用

      T-SQL笔记1:SELECT及SELECT高级应用 本章摘要 1:安装AdventureWorks 2:基本运算符和表达式 3:between 4:like 5:escape 6:TOP 7:G ...

  5. VC++ 对话框程序响应键盘消息的处理方法的说明(非常重要)

    基于MFC对话框的应用程序在响应按键消息和热键方面都力不从心,CDialog类的消息循环中去掉了TranslateAccelerator函数,因此不能响应热键:同时由于对话框上可能有很多控件,且默认情 ...

  6. ie 出现 append无效

    今天发现用ie append  无效,但是在谷歌浏览器上可以使用,问题在于 拼接字符串的时候出现多了一个标签. 解决方法:检查是否有多余或少写html标签.

  7. 一般处理程序中使用session

    首先引用:using System.Web.SessionState;  再在 IHttpHandler 后面加逗号加IReadOnlySessionState:IHttpHandler,IReadO ...

  8. 写css时要注意数字的浮动方向

    写css时要注意数字的浮动方向  当数字位数增加时他的方向才是正确的 text-align:right;padding-right:29px;

  9. bat调用bat的一个巨坑

    [一个巨坑] a.bat的内容:echo 1b.batecho 2执行结果:运行a.bat时,输出1,然后调用b.bat, 但是 echo 2 显示不出来. bat怎么调用bat文件并返回? 例如主文 ...

  10. Java Classloader详解

    一.Java中的class加载机制有以下三个特性: 1.全盘负责制  “全盘负责”是指当一个ClassLoader装载一个类时,除非显示地使用另一个ClassLoader,则该类所依赖及引用的类也由这 ...