Android:相册艺术被替换为图库

时间:2016-06-21 15:09:16

标签: android android-contentprovider

我为Android构建了一个音乐播放器应用程序。在我加载专辑封面的一些歌曲中,它会显示来自画廊的其他一些图像。它很少发生,只有在某些歌曲中,即使他们的专辑艺术没有丢失。我正在从"content://media/external/audio/albumart/" + songId获取专辑封面。我不明白为什么它会从这个uri的画廊中挑选图片。这首歌在Google Play音乐应用中显示正确的图像。它发生在朋友的手机上。该URI不是显示专辑封面,而是显示他的自拍图像。

我真的很累,试图调试这个问题。我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

存在问题

Images.Thumbnails.getThumbnail(contentResolver, id, Kind, options);方法,

有时会从sdcard返回随机图像,使用以下方法解决:

public Bitmap findArtworkbyAlbumId(Context activity, String albumId) {
        Bitmap artwork = null;
        if (albumId == null) {
            return null;
        }
        Uri uri = Uri.parse(albumId);
        Log.e("tag", uri.toString());
        ContentResolver res = activity.getContentResolver();
        InputStream in;
        try {

            in = res.openInputStream(uri);
            if (in != null) {
                artwork = BitmapFactory.decodeStream(in, null, null);
                in.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return artwork;
    }