Glide 在通过 uri 加载时显示黑色图像
Glide has shown black image when loading by uri
当我想使用Glide加载图片的uri时,我的图片显示为黑色。
URI:
content://com.whatsapp.provider.media/item/4
GlideApp.with(context).load(uri)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.transition(withCrossFade())
.override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.into(photoView);
我已将 uri 转换为路径,但这不起作用。我认为 Glide 无法从 Whatsapp uri 转换为路径。
尝试使用 EXTERNAL_CONTENT_URI 查询您的图片,
Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection,
MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " =?", new String[]{album}, MediaStore.Images.Media.DATE_ADDED);
因此,您将获得文件 url,而不是像这样的内容 uri,
/storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20200127-WA0019.jpg
然后你可以试试这个文件 url 像这样用 Glide 加载。
Uri uri = Uri.fromFile(new File(path));
GlideApp.with(context).load(uri)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.transition(withCrossFade())
.override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.into(photoView);
当我想使用Glide加载图片的uri时,我的图片显示为黑色。
URI:
content://com.whatsapp.provider.media/item/4
GlideApp.with(context).load(uri)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.transition(withCrossFade())
.override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.into(photoView);
我已将 uri 转换为路径,但这不起作用。我认为 Glide 无法从 Whatsapp uri 转换为路径。
尝试使用 EXTERNAL_CONTENT_URI 查询您的图片,
Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection,
MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " =?", new String[]{album}, MediaStore.Images.Media.DATE_ADDED);
因此,您将获得文件 url,而不是像这样的内容 uri,
/storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20200127-WA0019.jpg
然后你可以试试这个文件 url 像这样用 Glide 加载。
Uri uri = Uri.fromFile(new File(path));
GlideApp.with(context).load(uri)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.transition(withCrossFade())
.override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.into(photoView);