2013-02-26 93 views
0

我有一種情況,我試圖使用loadDatawebview中顯示用戶生成的HTML。我的代碼是這樣的:Android WebView中未顯示的圖像

String content = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + 
    "<html><head>" + 
    "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />" + 
    "</head><body>"; 
content += htmlStr + "</body></html>"; 
wv.loadData(content, "text/html", "UTF-8"); 

它在大多數情況下工作得很好,但我無法獲得某些類型的圖像顯示。在我的大部分測試中,插入<img src="..."/>標籤的效果很好,但我發現Photobucket上的圖片鏈接根本不會顯示;我在裏面找到一個帶有問號的小盒子,而不是圖像。

單擊Photobucket上的圖像鏈接可以將您帶到可在其網站上查看圖像的頁面,而不僅僅是原始圖像本身。我有一種感覺,這個問題與此有關。我懷疑它可能是一個「Referer」問題,也可能是用戶代理,或者是這種性質的東西,但是我不能讓我的生活得到正確的顯示。

我已經嘗試切換到loadDataWithBaseURL並提供BaseURL(因爲我相信這將用作引用者url),但這沒有什麼區別。我也嘗試使用loadUrl("http://photobucket..."來代替,並提供了一個HashMap以及手動設置的Referer頭文件,但那也不起作用。實際上,切換到loadUrl使其立即重定向到設備的瀏覽器以加載Photobucket頁面。我試圖提供一個自定義WebViewClient並覆蓋shouldOverrideUrlLoading,但最好的辦法是在WebView內顯示完整的Photobucket頁面。

我確定這不是Photobucket的特定問題,恰好是我在測試時發現此問題的網站。

我真的很想找出一些方法來處理這種情況,以便它能夠正常工作,但我一直都沒有找到任何有用的方向,因此或在互聯網上。有沒有人有任何想法?

回答

0

我會等到Photobucket完成他們最近的更新再進一步測試之前...雖然你說你確定它不是一個具體的Photobucket問題互聯網現在充斥着海報無法查看與android圖像鏈接的Photobucket基於設備。如果您的代碼適用於未託管在光桶上的所有其他圖像,則您的代碼很好。