如何加载我的URL代替android中的inComing URL

时间:2016-03-03 04:34:56

标签: android android-webview

我想在android中加载一个单独的URL来代替传入的URL。我正在做的是:

@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
if (url.contains("http://google.com")) {
url = url + "&ru=https://google.com/getTicket";
return super.shouldInterceptRequest(view, url);
}
return super.shouldInterceptRequest(view, url);
}

但这不是加载新网址。我该怎么做才能加载新的URL?

2 个答案:

答案 0 :(得分:1)

mWidgetWebView.setWebViewClient(new WebViewClient() {
  @Override
  public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if(url.contains("http://google.com")){
      view.loadUrl(url + "&ru=https://google.com/getTicket");
      return true;
    }
    return false;
  }
}

试试这段代码,它应该有用。
当网址包含“http://google.com”时,请加载另一个网址并返回true。

答案 1 :(得分:1)

您可以使用setWebViewClient设置webview

mWebView.setWebViewClient(new myWebClient());
        // Javascript inabled on webview
        mWebView.getSettings().setJavaScriptEnabled(true);
//Load url in webview
        mWebView.loadUrl("http://www.google.com");

webClient代码

public class myWebClient extends WebViewClient {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            if (mProgressBar != null)
                mProgressBar.setVisibility(View.GONE);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (url.startsWith("http://www.google.com")) {
                System.out.println(url);
                // Load your custom URL
                 mWebView.loadUrl(url + "&ru=https://google.com/getTicket");
                return true;
            }

            return false;
        }
        }