2013-02-26 6 views
0

loadData을 사용하여 webview에 사용자 생성 HTML을 표시하려고합니다. 내 코드는 다음과 같습니다.안드로이드 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 (이것은 referer url로 사용됩니다)을 제공했지만 아무런 차이가 없었습니다. 나는 또한 loadUrl("http://photobucket..." 대신에 수동으로 설정된 Referer 헤더와 함께 HashMap을 제공했지만 사용하지 못했습니다. 실제로 loadUrl으로 전환하면 즉시 장치의 브라우저로 리디렉션되어 Photobucket 페이지가로드됩니다. 나는 사용자 정의 WebViewClient을 제공하고 shouldOverrideUrlLoading을 덮어 쓰려고 시도했지만, 최선의 방법은 WebView 안에 전체 Photobucket 페이지를 표시하는 것이 었습니다.

이것은 Photobucket의 특정 문제가 아니라고 확신합니다. 테스트를 진행하는 동안이 문제를 발견 한 사이트 일뿐입니다.

이 상황을 제대로 처리 할 수있는 방법을 생각하고 싶습니다. 그러나 SO 또는 인터넷에서 도움이되는 방향을 찾을 수 없었습니다. 누구든지 아이디어가 있습니까?

답변

0

Photobucket이 추가 테스트를하기 전에 최근 업데이트를 완료 할 때까지 기다릴 것입니다 ... 포토 버킷의 특정 문제가 아니라고 확신하는 동안 인터넷은 이제 포스터를 볼 수없는 포스터로 가득합니다. 안드로이드가있는 이미지에 연결된 Photobucket을 볼 수 없습니다. 기반 장치. 코드가 photobucket에서 호스팅되지 않은 다른 모든 이미지와 함께 작동하는 경우 코드가 좋습니다.

관련 문제