Android13文件管理USB音乐无专辑图片显示的是同目录其他图片
一、问题描述
JiraID - 5122 文件管理usb音乐封面显示错误,usb音乐无专辑图片显示的是U盘里同目录其他图片
二、问题分析
参考知乎文章《安卓音乐文件封面图片展示问题》
原生MediaProvider.java媒体扫描中调用的ThumbnailUtils.createAudioThumbnail流程,
如果当前音乐文件无专辑图片时,评分规则会默认使用当前目录下的第一个jpg文件作为专辑封面。
查看官方A14代码仍保留此逻辑:https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android14-release/media/java/android/media/ThumbnailUtils.java
三、解决方案
音乐无专辑图片时,原生流程会使用同目录的图片进行评分,albumart.jpg优先,无albumart文件名时取第一张图片为专辑图片;
这里修改原生规则,增加限制条件,存在带有albumart的图片文件时才作为专辑图片,其他名称图片不再默认为是专辑图片
diff --git a/media/java/android/media/ThumbnailUtils.java b/media/java/android/medi