2010-11-11 85 views
3

我想從https網址獲取圖像,但它似乎不能正確顯示並獲取圖像,但在我的計算機瀏覽器上正常工作。Android從https地址獲取圖片來源?

我測試了一個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值,但對於這種情況,我嘗試了對getContactPhoto方法中可以看到的URL進行編碼。

感謝

回答

1

你只能看到它在瀏覽器中,因爲你已經登錄到Gmail,並有合適的Cookie來證明這一點。嘗試在註銷後或通過打開Incongnito/Private Browsing/InPrivate窗口查看圖像。你需要找到這個圖像的另一個來源。

+0

ahh確實夠好,但是您知道如何從https源獲取內容,或者上述代碼是否適用於https? – jonney 2010-11-11 12:29:31

+0

上面的代碼也適用於HTTPS。 – kichik 2010-11-11 12:32:58