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)
謝謝!
謝謝你,它確實有效:)!對不起延遲接受這個答案。當我發佈這個問題時,沒有人回答,所以我在單獨的數據庫中創建了一個新列,但現在我遇到了同樣的問題,我搜索了一個解決方案,並且看到了您的回覆。再次感謝。 – 2012-02-12 21:19:00
我認爲這段代碼是用來插入一行的。如何更新我剛插入的行? – 2015-12-10 19:14:14
如果您想要更新並且不只是插入:在此代碼之前使用此代碼contentResolver.delete( ContentUris.withAppendedId(sArtworkUri,song.getAlbumID()),null,null); – 2016-01-19 07:22:31