首页 > 解决方案 > content://media/external/audio/albumart 来自哪里,所有设备都一样吗?

问题描述

我通过从MediaStore列 ALBUM_ID获取专辑 ID 来获取专辑封面,然后像这样将它们加载到 Glide 中。

这段代码工作正常,但我想知道硬编码的 sArtworkUricontent://media/external/audio/albumart是从哪里来的?这是加载这些专辑封面的可靠方式吗?这个值在所有 Android 设备上是否相同?

代码

Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, albumIds.get(position));

GlideApp.with(context)
        .load(albumArtUri)
        .error(myImageList[randomNumber])
        .dontAnimate()
        .override(250,250)
        .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)
        .into(holder.albumPageIv);

标签: javaandroidalbumart

解决方案


我不能告诉你是否有更可靠的方法,但环顾四周,谷歌似乎在Media Provider中使用它

public class MediaProvider extends ContentProvider {
    private static final Uri MEDIA_URI = Uri.parse("content://media");
    private static final Uri ALBUMART_URI = Uri.parse("content://media/external/audio/albumart");

推荐阅读