6
Quiero actualizar/insertar una nueva imagen para un álbum en MediaStore pero no puedo conseguir que funcione ..¿Cómo puedo actualizar la ruta del álbum utilizando contentResolver?
Este es mi código:
public void updateAlbumImage(String path, int albumID) {
ContentValues values = new ContentValues();
values.put(MediaStore.Audio.Albums.ALBUM_ART, path);
int n = contentResolver.update(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, values, MediaStore.Audio.Albums.ALBUM_ID + "=" + albumID, null);
Log.e(TAG, "updateAlbumImage(" + path + ", " + albumID + "): " + n);
}
El error es:
03-24 03:09:46.323: ERROR/AndroidRuntime(5319): java.lang.UnsupportedOperationException: Unknown or unsupported URL: content://media/external/audio/albums
03-24 03:09:46.323: ERROR/AndroidRuntime(5319): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:131)
03-24 03:09:46.323: ERROR/AndroidRuntime(5319): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:111)
03-24 03:09:46.323: ERROR/AndroidRuntime(5319): at android.content.ContentProviderProxy.update(ContentProviderNative.java:405)
03-24 03:09:46.323: ERROR/AndroidRuntime(5319): at android.content.ContentResolver.update(ContentResolver.java:554)
03-24 03:09:46.323: ERROR/AndroidRuntime(5319): at com.liviu.app.smpp.managers.AudioManager.updateAlbumImage(AudioManager.java:563)
03-24 03:09:46.323: ERROR/AndroidRuntime(5319): at com.liviu.app.smpp.ShowAlbumsActivity.saveImageFile(ShowAlbumsActivity.java:375)
03-24 03:09:46.323: ERROR/AndroidRuntime(5319): at com.liviu.app.smpp.ShowAlbumsActivity.onClick(ShowAlbumsActivity.java:350)
¡Gracias!
Gracias, realmente funciona :) !. Perdón por el retraso de aceptar esta respuesta. Cuando publiqué la pregunta, nadie respondió, así que creé una nueva columna en una base de datos separada, pero ahora estoy teniendo el mismo problema, busco una solución y vi su respuesta. Gracias de nuevo. –
Creo que este código es para insertar una fila. ¿Qué hay de actualizar una fila que acabo de insertar? –
Utilice esto antes de este código si desea actualizar y no solo insertar: contentResolver.delete ( ContentUris.withAppendedId (sArtworkUri, song.getAlbumID()), null, null); –