为什么内容解析器会为专辑封面URI返回空值?

时间:2015-11-18 09:25:51

标签: android

我查询了ALBUM_ARTALBUM并转移了光标

final Cursor mCursor = getContentResolver().query(
                MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,
                new String[]{MediaStore.Audio.Albums.ALBUM_ART},
                MediaStore.Audio.Albums._ID + "=?",
                albumID,
                null
        );

if (mCursor.moveToFirst()) {

DatabaseUtils.dumpCursor(mCursor);
mCursor.close();

} else {

mCursor.close();

}

这是游标转储输出

System.out: 0 {
System.out:    album_art=/storage/emulated/0/Android/data/com.android.providers.media/albumthumbs/1445591197242
System.out:    album=Samsung
System.out: }
System.out: 1 {
System.out:    album_art=null
System.out:    album=The Piano Starts Here
System.out: }
System.out: 2 {
System.out:    album_art=/storage/emulated/0/Android/data/com.android.providers.media/albumthumbs/1446000978698
System.out:    album=Maiden Voyage
System.out: }
System.out: 3 {
System.out:    album_art=/storage/emulated/0/Android/data/com.android.providers.media/albumthumbs/1446001599761

可以看到专辑 The Piano Starts Here null ALBUM_ART

System.out:    album_art=null
System.out:    album=The Piano Starts Here

然而,从Play商店下载随机音乐播放器,我可以看到,不知何故,这个音乐播放器(其中包括但不是全部)能够在我的手机上找到专辑封面。这个艺术不是来自我的音乐文件夹中的一些随机图像文件。

它来自哪里?我没有将这些音乐下载到手机上。我把它从我的电脑上转移了。

enter image description here

1 个答案:

答案 0 :(得分:0)

Google Play商店中的大多数商业音乐应用将下载的专辑艺术保存到数据文件夹中。您可以使用几种可用于该服务的API,例如GraceNote,Discogs或Amazon。在大多数情况下,应用程序下载专辑封面和信息形成这些服务,并将其存储在.storage或DCIM文件夹中。