android webview:重定向时如何拦截表单数据?

时间:2016-03-21 08:14:09

标签: android webview

我有疑问。对不起我的游泳池英语技能。

在android webivew中,

我加载了一些页面。此页面重定向另一页。

重定向时,url包含一些数据(post,form-data)。

我想要catch包含数据。加载网址。

我认为,覆盖onPageStarted方法并捕获数据。但不能。

我该怎么办?

    private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    try {
        mWebView.postUrl(URL, postdata.getBytes("UTF-8")); // Sample Page
    } catch (UnsupportedEncodingException e) {
        Logger.log(TAG, e.getMessage());
    }
}

private class WebViewClientClass extends WebViewClient {

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
    }

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
        //catch redirect form-data.
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
    }
}

1 个答案:

答案 0 :(得分:0)

请添加以下行,然后才会使用您的自定义类。

 webView.setWebViewClient(new WebViewClientClass());

@覆盖             public boolean shouldOverrideUrlLoading(WebView view,String url){

//write your code here, get redirected url in this method and do your operation and then move ahead.
return false;
        }

当重定向url被加载时,将始终调用上面的方法。

希望这会对你有所帮助。