6
Chcę zaktualizować/wstawić nowy obraz do albumu w Mediastore ale nie mogę dostać to działa ..Jak mogę zaktualizować ścieżkę artysty albumu za pomocą contentResolver?
To jest mój kod:
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);
}
Błąd jest:
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)
Dziękujemy!
Dziękuję, to naprawdę działa :) !. Przepraszamy za opóźnienie w zaakceptowaniu tej odpowiedzi. Kiedy opublikowałem pytanie, nikt nie odpowiedział, więc utworzyłem nową kolumnę w oddzielnej bazie danych, ale teraz mam ten sam problem, szukam rozwiązania i widziałem twoją odpowiedź. Dzięki jeszcze raz. –
Myślę, że ten kod służy do wstawiania wiersza. A co z aktualizowaniem właśnie wstawionego wiersza? –
Użyj tego przed tym kodem, jeśli chcesz zaktualizować, a nie tylko wstawić: contentResolver.delete ( ContentUris.withAppendedId (sArtworkUri, song.getAlbumID()), null, null); –