如何使用暂停/恢复和通知进度创建DownloadManager

时间:2015-07-27 00:07:01

标签: android download-manager notification-bar

"活动A"将URL和文件名发送到DownloadManager,开始下载并显示通知进度,当点击进度通知时#34;活动B"下载列表,所有下载都在进行中并已完成。

对不起我的英文

1 个答案:

答案 0 :(得分:1)

  

“活动A”将URL和文件名发送到开始下载的DownloadManager

DownloadManager应该是Service,因为您希望它在后台运行,而不与UI更改(如屏幕旋转等)进行交互。根据需要在Service内实现自己的线程。 我推荐ThreadPoolExecutor。它允许您设置线程数,因此您可以将执行从串行切换到并行等等。

  

并显示通知中的进度

使用startForeground方法调用。请参阅http://developer.android.com/reference/android/app/Service.html

  

点击进度通知后,打开“活动B”,下载列表,所有下载都在进行中并完成。

使用PendingIntent,因为通知在系统进程中运行,而不是在应用程序进程中运行。 PendingIntent将授予您打开ActivityB的权限。请参阅:Open application after clicking on Notification

如果您想在ActivityB中显示操作状态,您可以轻松bindDownloadManager并通过进度更新回调更新活动用户界面。