首先,这篇文章可能看起来像其他问题的可能重复,但我已经经历了很多问题,但发现它们没有帮助。 现在我的问题是我在Webview中加载了一个URL,然后我想在webview上的每个事件上跟踪URL,所以我已经为Webview设置了WebviewClient并覆盖了shouldoverrideurlloading方法,但是在第一个Event之后,shouldoverrideurlloading没有被调用。 (第一次工作)
以下是我使用过的代码:
wvSecurity = (WebView) findViewById(R.id.wvSecurity);
wvSecurity.getSettings().setJavaScriptEnabled(true);
wvSecurity.getSettings().setAllowContentAccess(true);
wvSecurity.getSettings().setAllowUniversalAccessFromFileURLs(true);
wvSecurity.getSettings().setBuiltInZoomControls(false);
wvSecurity.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
wvSecurity.getSettings().setLoadWithOverviewMode(true);
wvSecurity.getSettings().setDomStorageEnabled(true);
wvSecurity.loadUrl("URL");
wvSecurity.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view,
final String urlStr) {
Log.i("URL", "::" + urlStr);
return false;
}
}
编辑::
好的,我想跟踪的URL使用POST方法,现在我的问题是如何跟踪POST URL及其数据。有一点,我没有访问网页,所以我只是不能去GET方法。请帮助!!!
答案 0 :(得分:1)
我猜这个方法在从页面轻敲超链接或发生某些重定向时被调用。所以要确保这件事。
答案 1 :(得分:0)
我认为您需要在“网址”上传递网址,以便解决您的问题。
wvSecurity = (WebView) findViewById(R.id.wvSecurity);
wvSecurity.getSettings().setJavaScriptEnabled(true);
wvSecurity.getSettings().setAllowContentAccess(true);
wvSecurity.getSettings().setAllowUniversalAccessFromFileURLs(true);
wvSecurity.getSettings().setBuiltInZoomControls(false);
wvSecurity.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
wvSecurity.getSettings().setLoadWithOverviewMode(true);
wvSecurity.getSettings().setDomStorageEnabled(true);
wvSecurity.loadUrl("http://www.google.com");
wvSecurity.setWebViewClient(new HelloWebViewClient());
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
System.out.println("URL :: " + url);
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, final String url) {
}
}