La imagen eliminada sigue apareciendo en la galería de Android hasta que vuelva a iniciar el correo electrónico

Estoy borrando un archivo como tal

File fileToDelete = new File("filepath"); Boolean fileDeleted = fileToDelete.delete(); 

El fileDeleted es verdadero y cuando compruebo el DDMS el archivo no está allí pero si hago clic en la galería todavía muestra la imagen que se acaba de borrar. Tengo que reiniciar el emulador para ver el cambio.

¿Hay alguna manera de ver los cambios sin tener que reiniciar el correo electrónico? Estoy usando eclipse

Tiene que ver con cómo la Galería muestra los archivos de imagen. Las miniaturas del archivo de imagen se almacenan en caché en el MediaStore y todos los detalles están presentes en el contenido de Mediastore.

La eliminación del archivo no actualizará esta base de datos. Pero cuando reinicia el emulador, Mediascanning se realiza por android. Si se puede activar MediaScanning, la galería dejará de mostrar los archivos

La galería utiliza la base de datos de medios de Android para mostrar la lista de los medios. La eliminación del archivo no se reflejará en la base de datos hasta que escanee el sistema de archivos de nuevo. Esto se realiza, por ejemplo, después de reiniciar.

Puede eliminar el archivo directamente a través de la base de datos o forzarlo a analizar el archivo o la carpeta que acaba de eliminar.

 File fileToDelete = new File("filepath"); boolean fileDeleted = fileToDelete.delete(); // request scan Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); scanIntent.setData(Uri.fromFile(fileToDelete)); sendBroadcast(scanIntent); 

Utilizo el siguiente código (que también es muy similar a mi código para crear un video que también informa al sistema de medios acerca de los cambios de archivos y actualiza correctamente la Galería):

 private void deleteVideo(String videoUrl) { File videoFile = new File(videoUrl); if (!videoFile.delete()) { Log.e(TAG, "Failed to delete " + videoUrl); } else { MediaScannerConnection.scanFile(mContext,new String[] { videoUrl }, null, new MediaScannerConnection.OnScanCompletedListener() { public void onScanCompleted(String path, Uri uri) { Log.i("ExternalStorage", "Scanned " + path + ":"); Log.i("ExternalStorage", "-> uri=" + uri); } }); } } 

Necesita "limpiar" su proyecto antes de construir, y resolverá el problema. Por defecto el proyecto se construye usando el "escondrijo" que no siempre suprime todos los datos construidos previamente.

  • Creación de emuladores para los teléfonos Android actuales
  • Android se niega a escribir / crear archivos de preferencias compartidas
  • ¿Cómo puedo girar la pantalla del emulador de Android?
  • Emulador de Android: ¿Configurar el número de dispositivo móvil?
  • ¿Cómo puedo tomar una instantánea del estado del emulador de Android?
  • ¿Cómo puedo configurar el factor de escala para el emulador de Android
  • desbloquear el emulador android desde la línea cmd
  • Android AVD Emulador Herramientas de desarrollo para el navegador móvil?
  • El emulador de Android 2.3 se bloquea al actualizar la ubicación
  • Sensores en el emulador de Android?
  • Cómo desinstalar mi aplicación del emulador de Android en un Mac 10.7.4
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.