Android 如何检查WebView是否需要加载远程网络资源?

Android 如何检查WebView是否需要加载远程网络资源?,android,webview,android-webview,android-websettings,Android,Webview,Android Webview,Android Websettings,我正在使用WebView呈现从字符串加载的本地HTML页面,出于安全原因,需要阻止加载任何外部资源,但需要通知用户是否有任何内容实际被阻止,并为用户提供一个选项,以使用远程图像/脚本完全加载页面 我最初使用webView.getSettings().setBlockNetworkLoads(true)阻止网络资源。这很有效。接下来,我需要确定加载的HTML内容是否包含对被阻止的外部网络资源的任何引用。谁能告诉我怎么做 我希望它能与API 8一起使用,您需要执行以下操作: class MyWebV

我正在使用WebView呈现从字符串加载的本地HTML页面,出于安全原因,需要阻止加载任何外部资源,但需要通知用户是否有任何内容实际被阻止,并为用户提供一个选项,以使用远程图像/脚本完全加载页面

我最初使用
webView.getSettings().setBlockNetworkLoads(true)
阻止网络资源。这很有效。接下来,我需要确定加载的HTML内容是否包含对被阻止的外部网络资源的任何引用。谁能告诉我怎么做


我希望它能与API 8一起使用,您需要执行以下操作:

class MyWebViewClient extends WebViewClient { 
    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
        // This method will get called when resources are to be loaded
        return new WebResourceResponse(null, null, new ByteArrayInputStream(new byte[0]));
    }
}
然后将此客户端分配给您的webview,并使用上述方法处理资源加载


通过这种方式,您应该能够在不使用
setBlockNetworkLoads(true)
方法的情况下禁用加载外部资源,并同时获取回调。

当我尝试此操作时,单击不再由默认浏览器解释,而是加载到我的WebView中。。如何默认为单击事件的标准浏览器?