运行Android 4.3或更低版本时,不会调用shouldInterceptRequest

时间:2014-04-29 11:49:59

标签: android android-webview

我在Android中的WebView中使用了一个简单的WebViewClient。我想在加载资源时拦截请求,因此我已经覆盖了如下的shouldInterceptRequest:

@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {


    Log.d(TAG, "onInterceptRequest: " + url);

    // Do something important if needed
    //...
    // else go on...
    return super.shouldInterceptRequest(view,url);
}

问题是这不适用于我的所有设备。在我的带有Android 4.4的Galaxy S4上,它始终有效。在我的带有Android 4.1.2的Galaxy S2上它根本不起作用。对此有何建议?函数shouldInterceptRequest被标记为API级别11,因此它在Android 3.0 +上应该是安全的

更新:我现在已经在Android 4.3上对此进行了测试,并且也没有在该设备上调用shouldInterceptRequest。我的targetSdkVersion设置为19.

更新2 :更多测试。似乎当我使用WebView :: loadUrl时调用了shouldInterceptRequest,但是当我使用WebView :: loadDataWithBaseURL将html作为字符串传递时,它不会被调用。

0 个答案:

没有答案