2012-04-19 68 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示例。

相关问题