6
Я хочу обновить/вставить новое изображение для альбома в MediaStore, но я не могу заставить его работать ..Как обновить путь к обложке альбома, используя contentResolver?
Это мой код:
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);
}
Ошибка:
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)
Спасибо!
Спасибо, это действительно работает :) !. Извините за задержку принятия этого ответа. Когда я разместил вопрос, никто не ответил, поэтому я создал новый столбец в отдельной базе данных, но теперь у меня такая же проблема, я ищу решение, и я увидел ваш ответ. Еще раз спасибо. –
Я думаю, что этот код предназначен для вставки строки. Как насчет обновления строки, которую я только что вставил? –
Используйте это перед этим кодом, если вы хотите обновить, а не просто вставить: contentResolver.delete ( ContentUris.withAppendedId (sArtworkUri, song.getAlbumID()), null, null); –