5

使用 Android 下载管理器我试图同步实现多个 pdf 文件的下载(即,在成功完成上一个请求后生成请求的实例),在广播接收器中的 DOWNLOAD_SUCCESS 通知之后不久,相同的副本生成请求(具有相同的请求 id)并隐式启动 DownlaodManager。第二次下载失败,DownlaodManager 给出 DownloadManager.status = ERROR CANNOT RESUME.因此,未下载 pdf。仅当我尝试同步时才会发生这种情况多次下载。任何帮助表示赞赏。

4

2 回答 2

1

我注意到,如果您在当前完成后立即开始另一个下载,则会发生此错误。所以,我通过在完成和下一次下载开始之间在当前线程中插入睡眠时间来解决这个问题......我使用了 Thread.sleep(1000),但你可以尝试其他值。(确保您没有在 UIThread 中执行此操作)。对我很好;)

于 2013-02-23T05:51:33.663 回答
0

您是否在三星设备上运行您的应用程序?我对 Nexus S、Galaxy Tab 10.1 和一个我不记得的名字(他们有 Android 版本 2.3.6、3.2 和 4.0.4)有同样的问题,但在 HTC Nexus One、HTC Sensation (4.0.x ) 和 HTC Explorer (2.3.5) 或模拟器。

我有这个后果:

06-05 17:42:26.756: INFO/DownloadManager(12113): Initiating request for download 1551
06-05 17:42:27.057: INFO/ololo(17021): Status for content://downloads/my_downloads/1551: file exists
06-05 17:42:27.137: INFO/DownloadManager(12113): Initiating request for download 1551
06-05 17:42:27.197: WARN/DownloadManager(12113): Aborting request for download 1551: Trying to resume a download that can't be resumed
06-05 17:42:27.247: WARN/ImageView(17021): Unable to open content: content://downloads/my_downloads/1551

我认为这是一个非常有趣的问题。

有人说这是三星和其他一些厂商的问题。我的解决方案是实现我自己的 DownloadManager 或使用别人的。

于 2012-06-05T19:39:01.327 回答