6
Voglio aggiornare/inserire una nuova immagine per un album in MediaStore ma io non riesco a farlo funzionare ..Come posso aggiornare il percorso artistico dell'album usando contentResolver?
Questo è il mio codice:
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);
}
L'errore è:
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)
Grazie!
Grazie, funziona davvero :) !. Ci scusiamo per il ritardo nell'accettare questa risposta. Quando ho postato la domanda, nessuno ha risposto, quindi ho creato una nuova colonna in un database separato, ma ora ho lo stesso problema, cerco una soluzione e ho visto la tua risposta. Grazie ancora. –
Penso che questo codice sia per inserire una riga. Che ne dici di aggiornare una riga che ho appena inserito? –
Utilizzare questo codice prima di questo codice se si desidera aggiornare e non solo inserire: contentResolver.delete ( ContentUris.withAppendedId (sArtworkUri, song.getAlbumID()), null, null); –