"Activity A"发送url和文件名到DownloadManager,开始下载并在通知中显示进度,当进度通知被点击时打开"Activity B"与下载列表,所有下载都在进行中并完成。
Sorry my english
"Activity A"发送url和文件名到DownloadManager,开始下载
DownloadManager
应该是Service
,因为你希望它在后台工作,而不是与UI变化(如屏幕旋转等)交互。根据需要在这个Service
内实现自己的线程。我推荐ThreadPoolExecutor
。它将允许您设置线程的数量,因此您将能够切换执行从串行到并行等等。
并在通知
中显示进度
使用startForeground
方法调用。请参阅http://developer.android.com/reference/android/app/Service.html
当点击进度通知时,打开"活动B",显示下载列表,其中所有下载都在进行中并已完成。
使用PendingIntent
,因为通知在系统进程中运行,而不是在应用程序进程中运行。PendingIntent
会给你打开ActivityB
的权限。参考:点击通知后打开应用程序
如果你想在你的ActivityB
中显示操作的状态,你可以很容易地从bind
到DownloadManager
,并通过回调从进度更新更新活动UI。