Android DownloadManager类

时间:2012-07-23 08:46:44

标签: android class download-manager

我需要下载一个大文件。对于api 9或更高版本,我需要使用DownloadManger类。但即使用户暂停Activity或按Back ...或用户杀死Activity,我也希望我的下载能够继续。一旦他开始下载过程,它应该在完成相应的下载后停止。如果同时网络连接断开,下载应该从它停止的地方恢复,即不应该从头开始。

1 个答案:

答案 0 :(得分:0)

仅针对此用例仅依赖Activity不是一个好主意。有两种选择:

选项1

  1. 除了Service之外,请使用Activity。在onPause(),启动Service和您的onResume()活动中,停止Service
  2. Service本身也应该注册ACTION_DOWNLOAD_COMPLETE广播。
  3. 如果您的活动在后台(即Service)时收到广播,则可以发布通知或烤面包或用户点击的任何内容以返回Activity。您还应注册ACTION_NOTIFICATION_CLICKED
  4. 选项2

    1. 只需创建一个清单注册的BroadcastReceiver即可收听ACTION_DOWNLOAD_COMPLETE广播。
    2. onReceive()中,您可以在下载完成后执行任何操作。同样,如果Activity已经在前台,您可以直接更新UI。否则,用户点击Notification即可在ACTION_NOTIFICATION_CLICKED中处理该问题。