我正在尝试从https网址获取图片,但它似乎无法显示并正确获取图片,但在我的计算机浏览器上工作正常。
我测试了一个指向不同图像的http网址,它运行正常。
我的代码如下:
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;
}
这是调用上述方法的activity类中的代码:
private ImageView mContactPhoto;
private ContactDetailsViewHelper mViewHelper;
mContactPhoto = (ImageView) findViewById(R.id.contact_photo);
mViewHelper = new ContactDetailsViewHelper(mContext);
mContactPhoto.setImageBitmap(mViewHelper.getContactPhoto(mDetail.getImageRef()));
忽略传递真实url值的mDetail.getImageRef,但在这种情况下,我尝试使用getContactPhoto方法查看网址的硬编码。
感谢
答案 0 :(得分:1)
您只能在浏览器中看到它,因为您已登录GMail并拥有相应的Cookie来证明它。在注销后或打开Incongnito / Private Browsing / InPrivate窗口时尝试查看图像。您需要找到此图像的其他来源。