从android webview获取加载的资源文件列表

时间:2015-01-07 09:30:59

标签: android android-webview webchromeclient

有没有办法让当前成功加载和未加载的文件从URL进入android webview。也就是说,如果我正在加载以下内容,

  • 1.js,2.js,3.js
  • 1.css,2.css,3.css
在html页面中

并将html文件加载到android webview中。

我需要在webview中列出已加载的文件,以及哪些无法加载到android webview中。我尝试使用 WebchromeClient 中的 onConsoleMessage(),它仅检测控制台错误。此方法未获取css图像的错误消息。

是否可以列出URL中的文件?

1 个答案:

答案 0 :(得分:1)

您可以通过覆盖WebViewClient.shouldInterceptRequest来获取WebView 尝试加载的资源列表,如下所示:

class MyWebViewClient extends WebViewClient {

    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
        android.util.Log.i("MyWebViewClient", "attempting to load resource: " + url);
        return null;
    }

    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
        android.util.Log.i("MyWebViewClient", "attempting to load resource: " + request.getUrl());
        return null;
    }

}

请记住,在后台线程上调用shouldInterceptRequest,因此您需要同步访问任何共享数据结构。

没有Java API可以确定WebView是否已成功加载给定资源。