2012-06-04 11 views
5

En utilisant Android Download Manager j'essaie d'implémenter plusieurs téléchargements de fichiers pdf de manière synchrone (ie, une instance de la requête est générée après avoir réussi la requête précédente), peu après une notification DOWNLOAD_SUCCESS dans la diffusion récepteur, une copie de la même requête (avec le même identificateur de requête) est générée et le DownlaodManager est implicitement initié.Pour la deuxième fois le téléchargement échoue, et DownlaodManager donne DownloadManager.status = ERREUR IMPOSSIBLE RESUME.En conséquence, le pdf n'est pas téléchargé Cela n'arrive que lorsque j'essaie de télécharger plusieurs fichiers synchronisés. Toute aide est appréciée.Erreur dans le gestionnaire de téléchargement android

Répondre

0

Exécutez-vous votre application sur l'appareil Samsung? J'ai le même problème avec Nexus S, Galaxy Tab 10.1 et un nom dont je ne me souviens pas (ils ont les versions Android 2.3.6, 3.2 et 4.0.4) mais jamais sur le HTC Nexus One, HTC Sensation (4.0.x) et HTC Explorer (2.3.5) ou émulateur.

J'ai cette conséquence:

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 

Je pense que ce problème est très intéressant. Les gens disent que c'est Samsung et d'autres problèmes de vendeurs. Ma solution est d'implémenter mon propre DownloadManager ou d'utiliser quelqu'un d'autre.

1

J'ai remarqué que si vous démarrez un autre téléchargement immédiatement lorsque le courant est terminé, cette erreur se produit. Donc, j'ai résolu ce problème en insérant un temps de sommeil dans le thread actuel entre la fin et le début du téléchargement suivant ... J'ai utilisé Thread.sleep (1000), mais vous pouvez essayer d'autres valeurs. (Assurez-vous que vous ne le faites pas dans UIThread). Fonctionne bien pour moi;)

+0

Merci pour l'article :) – berserk

Questions connexes