首页 > 解决方案 > 在 Android 11 (R) 上获取专辑封面

问题描述

在 Android R 上更新后,我的应用无法加载专辑的艺术。
下面的代码适用于 Android Q

Uri uri = ContentUris.withAppendedId(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, albumId);
Size size = new Size(700, 700);

return contentResolver.loadThumbnail(uri, size, null);

下面的代码也适用于 Android P 及更早版本

private Bitmap getAlbumArt(int albumId) {
    try (Cursor cursor = contentResolver.query(
            MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,
            new String[]{MediaStore.Audio.AlbumColumns.ALBUM_ART},
            _ID + "=?",
            new String[]{String.valueOf(albumId)},
            null)) {

        if (cursor == null || !cursor.moveToFirst()) {
            return null;
        }
        String artLink = cursor.getString(0);
        return BitmapFactory.decodeFile(artLink);
    }
}

问题是文档中没有关于提取专辑封面的信息。更新文件存储访问策略后,这不起作用。

标签: androidandroid-mediaplayerandroid-music-player

解决方案


似乎它已被弃用。看那里


推荐阅读