WebView 웹 페이지 불 러 오 는 중 오류 발생: ERRUNKNOWN_URL_SCHEME

2592 단어 WebView
원인
웹 뷰 는 http, https 와 같은 프로 토 콜 만 식별 할 수 있 기 때문에 일부 위 챗 (weixin: /), 어디로 가 는 지 (qunaraphone: /), 사용자 정의 프로 토 콜 웹 뷰 는 식별 할 수 없 기 때문에 ERRUNKNOWN_URL_SCHeme 의 이런 잘못 은
일반적으로 "위치:...................................................................................
해결
WebView 에 WebView Client 를 설정 하고 WebView Client 의 shouldOverrideUrl Loading 방법 을 다시 씁 니 다. 우선 shouldOverrideUrl Loading (WebView view, String url) 방법 을 알 아 보 겠 습 니 다. 이 방법 은 하이퍼링크 를 불 러 올 때 되 돌아 오기 때문에 shouldOverrideUrl Loading 을 다시 쓰 면 웹 페이지 의 하이퍼링크 차단 을 실현 할 수 있 습 니 다.반환 값 은 boolean 형 입 니 다. true 일 때 WebView 로 열 고 false 로 시스템 브 라 우 저 나 제3자 브 라 우 저 를 호출 합 니 다.묵인 false
그래서 우 리 는 어떤 블 로그 에서 이 방법 을 다시 쓰 지 않 아 도 ERR 를 해결 할 수 있다 는 것 을 볼 수 있 습 니 다.UNKNOWN_URL_SCHeme 이 잘못.여기 서 shouldOverrideUrl Loading 을 다시 써 서 해결 하 겠 습 니 다.
 webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                if (url == null) return false;

                try{
                    if(!url.startsWith("http://") && !url.startsWith("https://")){
                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity(intent);
                        return true;
                    }
                }catch (Exception e){//  crash (             scheme   url APP,    crash)
                    return true;//     app ,  true,         ,    ,           
                }

                // TODO Auto-generated method stub
                //    true      WebView  , false              
                view.loadUrl(url);
                return true;
            }
        });

좋은 웹페이지 즐겨찾기