Android如何从https URL获取图片源?

3

我正在尝试从HTTPS URL获取图像,但似乎无法正确显示和获取图像,但在我的计算机浏览器上运行良好。

我已经测试了指向不同图像的HTTP URL,并且它可以正常工作。

以下是我的代码:

public Bitmap getContactPhoto(String url) {
        Bitmap pic = null;
        try {
            pic = BitmapFactory
                    .decodeStream((InputStream) new URL(
                            "https://mail.google.com/mail/photos/static/AD34hIjbK2m-Lj333E4nBcCkBC3MYl2tTs0xizuSqUOP3-Jd6DOrpFg1M5HG8jXh0MuPbeFepInZZDu92Dx8ST4b59EbOKmfYTortuuO3P1_Ohyu7b7a3gc")
                            .getContent());
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return pic;

    }

这里是从调用上述方法的活动类中的代码:

private ImageView mContactPhoto;
private ContactDetailsViewHelper mViewHelper;

mContactPhoto = (ImageView) findViewById(R.id.contact_photo);
mViewHelper = new ContactDetailsViewHelper(mContext);
mContactPhoto.setImageBitmap(mViewHelper.getContactPhoto(mDetail.getImageRef()));

请忽略mDetail.getImageRef,它传递了真实的URL值,但是针对这种情况,我尝试硬编码URL,如您从getContactPhoto方法中所见。

谢谢。

1个回答

1

你只能在浏览器中看到它,因为你已经登录了GMail并且有适当的cookie来证明它。尝试在注销或打开隐身/私密浏览/InPrivate窗口后查看图像。你需要找到另一个来源的这个图像。


啊,好的,说得也有道理。但是你知道如何从HTTPS源获取内容吗?还是上面的代码即使是HTTPS也能工作? - Jono

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接