gpt4 book ai didi

android - Picasso 无法加载大图像(来自 Camera 和本地 Uri)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:10:59 24 4
gpt4 key购买 nike

我在使用 Picasso 时遇到问题,试图从 Gallery 和 Camera Intent 中加载格式为 content://com.android.providers.media.documents/document/imageXXYYZZ 的本地 Uri 的大图像.

我正在使用标准调用加载图像:

Picasso.load(image_url)
.resize(600, 240)
.centerCrop()
.into(imageTarget);

我在此处附加了一个 Target,当我收到 onBitmapFailed(Drawable errorDrawable) 错误时触发。此外,当我登录 Picasso 时,我得到:

06-23 12:13:54.267  22393-22393/it.b3lab.friendipity D/Picasso﹕ Main        created      [R100] Request{content://com.android.providers.media.documents/document/image%3A13345 resize(600,240) centerCrop}
06-23 12:13:54.277 22393-23010/it.b3lab.friendipity D/Picasso﹕ Dispatcher enqueued [R100]+9ms
06-23 12:13:54.285 22393-23038/it.b3lab.friendipity D/Picasso﹕ Hunter executing [R100]+15ms
06-23 12:13:54.813 22393-23010/it.b3lab.friendipity D/Picasso﹕ Dispatcher batched [R100]+546ms for error
06-23 12:13:55.014 22393-23010/it.b3lab.friendipity D/Picasso﹕ Dispatcher delivered [R100]+746ms
06-23 12:13:55.024 22393-22393/it.b3lab.friendipity I/picasso﹕ failed to load bitmap
06-23 12:13:55.024 22393-22393/it.b3lab.friendipity D/Picasso﹕ Main errored [R100]+756ms

只有当我尝试从图库(大约 1 MB 以上)和使用高分辨率相机智能手机(在我的例子中是在 Android 上运行的 Moto G)时从相机 Intent 加载大图像时才会发生这种情况5.0.1).我在 Android 4.4 上使用三星 S2 时没有收到此错误。

任何帮助将不胜感激!谢谢

最佳答案

您需要将内容 uri 解析为绝对 uri。例如:

public String getAbsolutePathFromURI( Uri contentUri ) {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = activity.getContentResolver().query( contentUri, proj, null, null, null );
int columnIndex = cursor.getColumnIndexOrThrow( MediaStore.Images.Media.DATA );
cursor.moveToFirst();
String path = cursor.getString( columnIndex );
cursor.close();
return path;
}

关于android - Picasso 无法加载大图像(来自 Camera 和本地 Uri),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31000407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com