"活动A"将URL和文件名发送到DownloadManager,开始下载并显示通知进度,当点击进度通知时#34;活动B"下载列表,所有下载都在进行中并已完成。
对不起我的英文
答案 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
中显示操作状态,您可以轻松bind
到DownloadManager
并通过进度更新回调更新活动用户界面。