Получение обложки альбома на 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);
    }
}

Проблема в том, что в документации нет информации об извлечении обложек альбомов. После обновления политики доступа к файловому хранилищу это не работает.


person Арслан Халиков    schedule 11.09.2020    source источник
comment
Проверьте этот ответ, он будет работать stackoverflow.com/questions/66077161/   -  person satishprattipati    schedule 21.06.2021


Ответы (1)


Кажется, это устарело. Посмотрите здесь

person borune    schedule 13.12.2020