2013-11-26 36 views
0

我正在使用WebView來呈現從字符串加載的本地HTML頁面,並且出於安全原因需要阻止加載任何外部資源,但需要通知用戶是否有任何內容實際上被阻止,併爲用戶提供了一個選項來完全加載頁面與遠程圖像/腳本。如何檢查WebView是否需要加載遠程網絡資源?

我最初用webView.getSettings().setBlockNetworkLoads(true)阻止網絡資源。這很好。接下來,我需要確定加載的HTML內容是否實際包含對被阻止的外部網絡資源的任何引用。任何人都可以請告訴我該怎麼做?

,我想這與API 8

回答

0

工作,你需要做到以下幾點:

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])); 
    } 
} 

那麼這個客戶端分配到的網頁視圖,並在上面的方法處理資源加載。

這樣,您應該能夠禁用加載外部資源,而不使用setBlockNetworkLoads(true)方法並同時獲取回調。

+0

當我嘗試這樣做時,點擊不再被默認瀏覽器解釋,而是在我的WebView中加載。如何默認使用標準瀏覽器進行點擊事件? – Marcin