Eliminar un archivo de contentResolver sólo eliminar la entrada de la base de datos (no archivo)

Intento suprimir un archivo usando contentResolver pero suprimir solamente la entrada de la base de datos, no el archivo verdadero. Así que intento borrar primero la entrada y luego el archivo:

int rows = context.getContentResolver().delete( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, MediaStore.Audio.Media._ID + "=" + idSong, null); // Remove file from card if (rows != 0) { Uri uri = ContentUris.withAppendedId( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, idSong); File f = new File(uri.getPath()); if(!f.delete()) Log.d("fail-2", "fail-2"); } else Log.d("fail-1", "fail-1"); 

… y la salida es "fail-2". ¿Por qué?

¿Por qué ContentResolver no elimina el archivo real? ¿Esto es normal?

Esto está funcionando:

  // Remove entry from database int rows = context.getContentResolver().delete( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, MediaStore.Audio.Media._ID + "=" + idSong, null); // Remove file from card if (rows != 0) { try { File f = new File(path); if (f.delete()) return true; } catch (Exception e) { Log.d("MusicDB", "file: '" + path + "' couldn't be deleted", e); return false; } } return false; 

¿Pero por qué contentResolver no elimina el archivo ??

Parece que en 4.2, cero el archivo, pero no lo elimina. Realmente esperaba que lo eliminara del MediaStore y no lo borrara del sistema de archivos. De cualquier manera, esto parece ser un error de Android.

Me encuentro con un problema al actualizar un archivo. El problema que estoy teniendo es que el escáner de medios no está borrando la entrada antigua en la nueva búsqueda, por lo que terminan con dos entradas.

  • Obtener todas las fotos de la programación android de dispositivos Android
  • MediaStore: obtener datos de imagen, miniatura y carpeta
  • Cómo actualizar MediaStore de Android al eliminar fotos
  • La columna MediaStore.MediaColumns.TITLE de MediaStore de Android es nula para algunos archivos
  • Error de cursor Android: "asegúrese de que el cursor se inicialice correctamente antes de acceder a los datos de él ..."
  • Android: Cómo detectar un cambio en MediaStore cuando está conectado a través de MTP
  • Error de URI desconocido en insertImage
  • MediaStore.Images.Media.insertImage devuelve null al intentar guardar la imagen
  • Android: Actualizar la Galería después de guardar nuevas imágenes
  • Android: EXTERNAL_CONTENT_URI es suficiente para una galería de fotos?
  • ¿Es posible hacer una consulta sin procesar en la base de datos de metales de Android de meta sqlite?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.