2012-04-19 23 views
10

我正在測試Android應用程序中的內置WebView。我的問題是,下面的代碼嘗試加載WebView時出現「完成操作」

WebView webView = (WebView) findViewById(R.id.webView1); 
webView.loadUrl("http://google.com"); 

觸發意圖(sugesting打開網頁的瀏覽器安裝),而不是打開它在內置的WebView。我該怎麼做才能避免這種情況?

回答

26
WebView mWebView= (WebView) findViewById(R.id.webView1); 
mWebView.setWebViewClient(new WebViewClient() { 
     @Override 
     public void onReceivedError(WebView view, int errorCode, 
       String description, String failingUrl) { 
      // Handle the error 
     } 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 
    }); 

mWebView.loadUrl("http://google.com"); 

這不會打開其他瀏覽器。請從這裏參考DEVELOPER's SITE

+0

:)我是在同一頁面,但谷歌搜索找到解決方案 – 2012-10-27 23:51:18

+1

shouldOverrideUrlLoading你可以只返回false,而不是做view.loadUrl(url) – 2014-11-24 13:07:17

4

如果您想要在應用程序中打開URL,則需要實施WebViewClient

檢查this link並找到處理頁面導航爲WebViewClient示例。

相關問題