我想在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?
答案 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;
}
}