J'ai une erreur étrange dans mon Application.
Dans mon application, il est possible de télécharger une zipFile, lire le contenu de ce qu'il est et aussi le supprimer. Sa n'a pas d'importance ce que c'est exactement.
Problème: Seulement sur la Xoom de Motorola (version 4.0.4) je peux télécharger le fichier, décompressez-le, je peux lire les données et je peux tout supprimer. Mais si j'essaie de le Télécharger de nouveau le fichier et alors qu'il décompressez le fichier et copiez les fichiers sur la Carte SD, il se bloque avec le message d'erreur EBUSY (Périphérique ou ressource occupé).
- Pourquoi est-il le fait de travailler uniquement la première fois?
- Ce que signifie cette erreur?
- Pourquoi j'ai cette erreur uniquement sur la Xoom?
Je ne trouve pas de solution pour cela. Sur tous les autres appareils, il fonctionne très bien, pas d'erreurs ou de problèmes.
LogCat:
07-18 12:27:46.774: E/PrepareMagTask(10057): IOException
07-18 12:27:46.774: E/PrepareMagTask(10057): java.io.FileNotFoundException: /mnt/sdcard/Android/data/com.xxxxxx.android/files/content/23760/emag.db: open failed: EBUSY (Device or resource busy)
07-18 12:27:46.774: E/PrepareMagTask(10057): at libcore.io.IoBridge.open(IoBridge.java:406)
07-18 12:27:46.774: E/PrepareMagTask(10057): at java.io.FileOutputStream.<init>(FileOutputStream.java:88)
07-18 12:27:46.774: E/PrepareMagTask(10057): at java.io.FileOutputStream.<init>(FileOutputStream.java:73)
07-18 12:27:46.774: E/PrepareMagTask(10057): at com.xxxxx.android.util.io.ZipHelper.uncompressEntry(ZipHelper.java:35)
07-18 12:27:46.774: E/PrepareMagTask(10057): at com.xxxxx.android.task.PrepareMagTask.doInBackground(PrepareMagTask.java:271)
07-18 12:27:46.774: E/PrepareMagTask(10057): at com.xxxxx.android.task.PrepareMagTask.doInBackground(PrepareMagTask.java:1)
07-18 12:27:46.774: E/PrepareMagTask(10057): at android.os.AsyncTask$2.call(AsyncTask.java:264)
07-18 12:27:46.774: E/PrepareMagTask(10057): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
07-18 12:27:46.774: E/PrepareMagTask(10057): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
07-18 12:27:46.774: E/PrepareMagTask(10057): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
07-18 12:27:46.774: E/PrepareMagTask(10057): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
07-18 12:27:46.774: E/PrepareMagTask(10057): at java.lang.Thread.run(Thread.java:856)
07-18 12:27:46.774: E/PrepareMagTask(10057): Caused by: libcore.io.ErrnoException: open failed: EBUSY (Device or resource busy)
07-18 12:27:46.774: E/PrepareMagTask(10057): at libcore.io.Posix.open(Native Method)
07-18 12:27:46.774: E/PrepareMagTask(10057): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
07-18 12:27:46.774: E/PrepareMagTask(10057): at libcore.io.IoBridge.open(IoBridge.java:390)
07-18 12:27:46.774: E/PrepareMagTask(10057): ... 11 more
Il se bloque à la ligne 35 dans mon ZipHelper classe:
FileHelper.copy(zipFile.getInputStream(entry), new FileOutputStream(outputFile), modify);
getInputStream(entrée) ... et je ne sais pas vraiment pourquoi?
Est-il une méthode pour attendre que l'appareil ou le recours, quand il est occupé? C'est arrivé à chaque fois que j'essaie de décompresser le fichier, l'application tente de 5 heure (Téléchargement -> Décompresser) et il plante à chaque fois.
EDIT: Nous avons découvert, ce n'est pas seulement la Xoom. Nous avons aussi l'erreur avec l'Asus transformer avec la version 4.0.4