2014-04-11 3 views
2

내가 (A WebView 컨테이너를 통해) 응용 프로그램에 의해로드 된 웹 페이지에 (without "http://")을 잘못된 링크를 잡아웹보기 19

public boolean shouldOverrideUrlLoading(WebView view, String url). 

    if(url.startsWith("/")){ 
     url = "http://www.domain.com" + url; 
    } 

모든 것이 좋았다 재정 올바르게 내가 할 (adding "http://") 그들을 포맷해야 API에 호출되지 shouldOverrideUrlLoading 그러나 API 19에서는 메서드를 to this guide에 따라 호출하지 못한다는 것을 알고 있습니다.
그러나 유효하거나 유효하지 않은 URL인지 결정하기 위해 어떤 메소드가 호출되는지는 말하지 않습니다.

로드 할 페이지의 모든 웹 콘텐츠를 가져오고 잘못된 형식의 링크를 찾아 교체 한 다음 "새로운"페이지를로드하는 대신 많은 노력이 필요합니다.

어떤 방법으로 대체 할 수 있는지 (WebView에서 클릭을 가로 채는) 사람을 알고 있습니까?

답변

-1

구글은 킷캣에 shouldOverrideUrlLoading()에 관한 몇 가지 documentation 있습니다 자원을 요청하고 사용자 정의 URL 체계를 사용 링크를 해석 할 때 새로운 웹보기가 추가 제한을 적용

. 예를 들어 의 경우 shouldOverrideUrlLoading() 또는 shouldInterceptRequest()와 같은 콜백을 구현하면 WebView는 올바른 URL에 대해서만 호출합니다.

사용자 정의 URL 체계 또는 기본 URL을 사용하여 앱 요청이 RFC를 준수 유효한 URL을 지정할 수 있도록,이 콜백에 적은 전화를 수신하거나 안드로이드 4.4에 부하 리소스에 실패 통지하는 경우 3986.

+1

감사합니다. @Wei하지만 참조하는 링크는 제가 제 질문에서 언급 한 것입니다. 그게 내 질문의 이유 였어. 나는 볼 웹 페이지를 제어하지 않기 때문에 링크가 포맷 된 방식을 직접 제어하지 못합니다. 나는 제대로 포맷 할 수 있도록 잘 포맷되지 않은 링크를 클릭해야합니다. shouldOverrideUrlLoading()을 잡으려고했지만 Android 4.4에서는 할 수 없습니다. 나는 그것을 할 다른 방법이 필요합니다. – stilllearningjp