下载管理器,有个哥们写得很好了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. 多层iframe的页面取子标签

    <iframe src=''> <iframe src=''> <iframe src=''> <div></div></iframe ...

  2. phpMyAdmin登录出错

    问题:在网页上登录phpMyAdmin后出错 You don't have permission to access /phpMyAdmin/ on this server. 查询找到解决方法,记录一 ...

  3. c#委托和事件的介绍

    委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. (1). delegate delegate我们常用到的一种声明   Delegate至少0个参 ...

  4. I2C总线和S5PV210的I2C总线控制器

    一.什么是I2C通信协议? 1.物理接口:SCL + SDA (1)SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道. (2)SDA(serial ...

  5. C++函数CString类常用函数

    C++ STL库里有很多与字符串操作相关的函数,熟练应用STL,字符串的处理将变得轻松.自在. 字符串截取函数: 1.CString Left( int nCount ) const;    //从左 ...

  6. 提高sevenzipsharp 检查密码的速度(1)

    前言:sevenzipsharp检查密码(包括检查压缩包的有效性)的函数是SevenZipExtractor.check(), sevenzipsharp调用的是7zip的动态链接库,而且不止是7zi ...

  7. xcode的类库报错,如何解决

    首先看一下自己报错的原因,是当前UIkit框架还是别的,然后按住Command+shift+G 把"/Applications/Xcode.app/Contents/Developer/Pl ...

  8. 安装android

    http://www.oschina.net/question/1463998_220998 http://www.cnblogs.com/zoupeiyang/p/4034517.html

  9. C语言fgetpos()函数:获得当前文件的读写指针(转)

    头文件:#include<stdio.h>fgetpos()函数获得当前文件的指针所指的位置,并把该指针所指的位置信息存放到pos所指的对象中.pos以内部格式存储,仅由fgetpos() ...

  10. C++函数重载和函数模板

    1.函数重载 这是小菜鸟写的一个例子. 函数重载应该注意以下几点: 1.1重载函数有类似的功能: 1.2只能以参数的类型(形参个数和类型)来重载函数, int max(int a,int b);flo ...