我正在尝试在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响应?
谢谢。
答案 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)