2012-03-30 3 views
13

내 애플리케이션에서 shouldOverrideUrlLoading()은 Honeycombe 3.2 버전에서 호출되지 않습니다. 2.2 및 4.0.1에서 테스트했으며 모두 잘 작동합니다.Android webview shouldOverrideUrlLoading이 호출되지 않았습니다.

허니컴의 버그입니까? 어떻게 해결할 수 있습니까?

나는 사전에) shouldOverrideUrlLoading (에서 모든 요청에 ​​대해

view.loadUrl(url,headers); 

감사를 사용자 정의 헤더를 보내야합니다.

+0

요청이 POST 일 때'shouldOverrideUrlLoading()'이 트리거되지 않습니다 (아마도 이것이 이유 일 수 있습니다). –

+0

@SYLARRR 다른 버전에서 GET과 POST를 모두 시도해 보았습니다. – Riddle

+0

이 함수는 자주 호출되지 않습니다. 나는 많은 웹 사이트에서 같은 문제가 www.youtube.com을 포함하고 있음을 발견했다. 나는 그 이유를 알기에는 충분히 깊이 파고 들지 않았지만 기본적으로이 기능은 신뢰할 만하다. – Lee

답변

10

이 메서드는 사용자가 탐색을 수행 할 때만 호출됩니다. 웹 사이트에서 사용자를 리디렉션하는 경우 항상 호출되지는 않습니다. 일반적인 시나리오는 AJAX를 사용하여 페이지의 내용을 변경하거나 사용자를 리디렉션하는 웹 사이트입니다.

WebViewClient의 다른 콜백을 확인하여 필요에 맞는 콜백을 찾으십시오. onLoadResource, onPageStarted. 귀하의 경우 API 레벨 11 이상을 타겟팅하므로 shouldInterceptRequest도 사용할 수 있습니다.

+0

이 3 가지 방법 중 아무 것도 호출되지 않지만 실제로 로그에서 찾은 경우가 거의 없습니다. 이 일은 신뢰할 수 없나요? –

관련 문제