2011-08-31 5 views
1

모바일에 최적화 된 URL (웹 페이지)을로드하는 WebView이 있습니다. 그러나 링크를 클릭하면 WebView (앱 내부)에로드되지 않지만 모바일 브라우저가 열립니다.WebView 클릭으로 모바일 브라우저가 열림

이 문제를 방지하려면 어떻게해야합니까?

shouldOverrideUrlLoading()을 통해 URL 오버로드를 시도했지만 도움이되지 않았습니다.

이것은 코드입니다.

webView = (WebView) findViewById(R.id.webview); 
WebSettings webSettings = webView.getSettings(); 
webSettings.setPluginsEnabled(true); 
if (Build.VERSION.SDK_INT > 7) { 
    webSettings.setPluginState(WebSettings.PluginState.ON); 
} 
webSettings.setJavaScriptEnabled(true); 
webView.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (url.equals(url)) { 
      view.loadUrl(url); 
      return true; 
     } 
     return false; 
    } 


    @Override 
    public void onLoadResource(WebView view, String url) { 
    } 
}); 
webView.loadUrl("http://some-url.com"); 

편집

GET 또는 POST 게시 방법 링크 '클릭 개방형 모바일 웹 브라우저와 아무 상관이 있습니까 ???

+0

죄송합니다. 사실이지만 복사하지 않았습니다! – sandalone

+1

이 코드는'if (url.equals (url)) {view.loadUrl (url); true return;} 괜찮아? – sandalone

답변

3

false 대신 trueshouldOverrideUrlLoading에 있습니다. 문서에서

: 호스트 응용 프로그램이 현재 웹보기를 떠나 URL 자체를 처리 하고자하는 경우

shouldOverrideUrlLoading는 그렇지 않은 경우는 false 를 반환 True를 반환합니다.

+0

죄송합니다. 사실이지만 복사하지 않았습니다! – sandalone

+0

'url.equals (url)'은 실제로 아무것도하지 않습니다. 그것들은 같은 Object입니다. 그래서 그들은 동등합니다. 왜 그냥'@Override가 없는가? public boolean shouldOverrideUrlLoading (WebView view, String url) {view.loadUrl (url); 참을 돌려라. }'? – Phil

관련 문제