2011-12-21 24 views
5

Mi aplicación realiza operaciones de archivos en la tarjeta SD (eliminar o actualizar el archivo). Pero cuando conecto el dispositivo a Windows 7 a través de USB, no veo ningún cambio. Sin embargo, puedo confirmar los archivos actualizados o eliminados con adb shell.Los archivos de la tarjeta SD actualizados mediante programación no se actualizan en Windows Explorer

Uso un ASUS eee Pad con Android 3.0.

Parece que los dispositivos con Android 3.0 tienen una forma diferente de proporcionar acceso al sistema de archivos (MTP en lugar de almacenamiento masivo USB). También leí acerca de cómo podemos usar MediaScannerConnection.scanFile para actualizar el contenido de Windows File Explorer al agregar un nuevo archivo.

¿Pero cómo activar una actualización cuando los archivos se eliminan o se actualizan?

Probé MediaScannerConnection.scanFile en el archivo eliminado pero solo crea una entrada con el tamaño 0. MediaScannerConnection.scanFile en toda la carpeta tampoco funciona.

Gracias por su ayuda.

G.

+0

¿Quiere decir mientras el dispositivo está conectado a USB? Si es así, entonces este podría ser el comportamiento previsto. –

+0

Desafortunadamente no. Incluso cuando el dispositivo está desconectado, puedo ver las entradas eliminadas en Windows 7 File Explorer después. – Georges

+1

Encontré un elemento de respuesta. sendBroadcast (nuevo intento (Intent.ACTION_MEDIA_MOUNTED, Uri.parse ("file: //" + Environment.getExternalStorageDirectory()))); Hacer esto después de que se eliminó un archivo parece funcionar cuando el dispositivo no está conectado a través de USB. – Georges

Respuesta

10

Por lo tanto, como se menciona en el comentario anterior. Por ahora, lo mejor que he encontrado es

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 

Después de eliminar o actualizar un archivo parece que funciona.

Sin embargo, el dispositivo debe estar desconectado del USB. De lo contrario, debe desconectar y volver a conectar el dispositivo para ver los cambios.

NOTA: En algunos dispositivos esto puede desencadenar un evento onResume en la actividad actual.

+0

Felicitaciones por la solución. Cuando pueda, marque su respuesta como "aceptada" para que otros puedan aprender de su éxito. Saludos ~ –

+0

Gracias, voy a actualizar tan pronto como la demora ha expirado – Georges

+0

Estoy creando archivos pdf y siempre tuve que desconectar y "re" - conectar USB para ver mis cambios ... – stefan

Cuestiones relacionadas