为什么WebResourceResponse在shouldInterceptRequest()中返回null?

时间:2016-08-04 05:33:21

标签: android http post webview response

我正在尝试在WebView中获取请求的POST响应。这是我的代码。

mWebview.setWebViewClient(new WebViewClient() {

    @Override
    public WebResourceResponse shouldInterceptRequest (final WebView view, String url) {
        WebResourceResponse w = super.shouldInterceptRequest(view, url);
        Log.i("type", w.getMimeType());
        return super.shouldInterceptRequest(view, url);
    }
});

但程序崩溃,错误是w为空。谁能告诉我为什么会这样或者给我任何解决方案来获取WebView中的请求的POST响应?

谢谢。

2 个答案:

答案 0 :(得分:1)

shouldInterceptRequest()返回null,表示没有人拦截请求,webview将加载原始网址。

如果要拦截请求,则应使用URL参数中的信息创建自己的WebResourceResponse

答案 1 :(得分:0)

在文档中,它指出"如果返回值为null,则WebView将继续像往常一样加载资源。"。在某些内容应该拦截请求的情况下,覆盖方法会返回响应。

https://developer.android.com/reference/android/webkit/WebViewClient.html#shouldInterceptRequest(android.webkit.WebView,android.webkit.WebResourceRequest)