java - content://media/external/audio/albumart 来自哪里,所有设备都一样吗?
问题描述
我通过从MediaStore列 ALBUM_ID获取专辑 ID 来获取专辑封面,然后像这样将它们加载到 Glide 中。
这段代码工作正常,但我想知道硬编码的 sArtworkUri值content://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);
解决方案
我不能告诉你是否有更可靠的方法,但环顾四周,谷歌似乎在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");
推荐阅读
- php - Symfony hack - 执行 shell 脚本重写 yaml 文件
- google-apps-script - 我已经使用条件(If/Else 语句)添加了一个行,我应该如何将公式添加到新插入的行
- angular - 使用 Angular cli 的 Angular 6 的 i18n
- node.js - 如何在 Azure bot 框架中为每组对话框创建单独的文件 - Node.js
- c# - 使用 ctrl 键滚动时禁用 RichTextBox 缩放
- c++ - 将弹药计数添加到游戏中。
- php - 使用用户定义字段时,Payu 中的哈希参数计算错误导致交易失败
- windows - 审核成功和失败事件到文件夹
- css - 引导行 100% 宽度,没有水平滚动和自适应每个尺寸
- android - Flutter NetworkImage 处理 403 错误