shouldOverrideUrl仅在继续在同一站点上时才加载

时间:2014-09-13 20:24:06

标签: android webview adt

我使用webview在应用程序中显示我的网站,并且shouldOverrideUrlLoading以保留其中的链接,但是,我只希望我的网站上继续的链接覆盖,其他链接,如Facebook共享链接,我想打开外部

请问,如果url = mysite.com,我该怎么办OverOrlLoading,谢谢!

    WebView view = (WebView) this.findViewById(R.id.webView1);

    view.getSettings().setJavaScriptEnabled(true);
    view.loadUrl(url);
    view.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return false;
        }
    });

1 个答案:

答案 0 :(得分:0)

您应该解析url变量以检查网址是否在您的域中。

public boolean shouldOverrideUrlLoading(WebView view, String url) {
  URI obj = new URI(url);
  if (!"mysite.com".equals(obj.getHost()) {
    return false;
  } 

  view.loadUrl(url);
  return true;
}

使用域名托管服务商更改mysite.com

您还需要处理www。案例