0

WebView を使用して、文字列からロードされたローカル HTML ページをレンダリングしています。セキュリティ上の理由から、外部リソースのロードをブロックする必要がありますが、実際にブロックされた場合はユーザーに通知し、リモートでページを完全にロードするオプションをユーザーに提供する必要があります画像/スクリプト。

私は最初にネットワークリソースをブロックしていwebView.getSettings().setBlockNetworkLoads(true)ます. これはうまくいきます。次に、読み込まれた HTML コンテンツに、ブロックされた外部ネットワーク リソースへの参照が実際に含まれているかどうかを確認する必要があります。誰でもその方法を教えてもらえますか?

これをAPI 8で動作させたい

4

1 に答える 1

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

次に、このクライアントを webview に割り当て、上記の方法でリソースの読み込みを処理します。

setBlockNetworkLoads(true)このようにして、メソッドを使用せずに外部リソースのロードを無効にし、同時にコールバックを取得できるはずです。

于 2013-11-26T19:35:37.853 に答える