open failed: EBUSY (Dispositivo ou recurso ocupado)

Eu tenho um erro estranho no meu aplicativo.

No meu aplicativo é possível baixar um zipFile, ler o conteúdo como ele é e também deletá-lo. Não importa exatamente o que é.

Problema: Apenas no Motorola Xoom (versão 4.0.4) eu posso baixar o arquivo, descompactá-lo, eu posso ler os dados e posso apagar tudo. Mas se eu tentar baixar o arquivo novamente e enquanto ele descompactar o arquivo e copiar os arquivos para o SD-Card trava com o erro EBUSY (dispositivo ou recurso ocupado).

Por que está funcionando apenas na primeira vez?O que significa esse erro?Por que eu recebo este erro apenas no Xoom?

Não consigo encontrar nenhuma solução para isso. Em todos os outros dispositivos funciona bem, sem erros ou problemas.

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

Ele falha na linha 35 na minha classe ZipHelper:

FileHelper.copy(zipFile.getInputStream(entry), new FileOutputStream(outputFile), modify);

getInputStream (entry) ... e eu realmente não sei porque?

Existe um método para aguardar o dispositivo ou recurso, quando está ocupado? Isso acontece toda vez que tento descompactar o arquivo, o aplicativo tenta 5 vezes (Download -> Descompacte) e ele falha o tempo todo.

EDIT: Descobrimos, não é só o Xoom. Nós também temos o erro com o Asus Transformer com a versão 4.0.4

questionAnswers(7)

yourAnswerToTheQuestion