JSコードをにロードしWebView
ます。このJSコードは、file:
スキーム uri を使用していくつかのファイルを要求します。これらのファイルは暗号化されて保存されており、 JSモジュールが要求するときに Java コード内でそれらを復号化したいと考えています。http:
これらのリクエストがスキームを介して行われる場合、ローカルの http サーバーをセットアップし、それを介して復号化されたコンテンツをJSモジュールに渡すことができることを知っています。スキームuriを使用して、復号化されたコンテンツをJSモジュールに渡す方法はありますか?file:
質問する
1141 次
1 に答える
2
WebViewClient
のオーバーライドを使用してサブクラスを作成し、shouldInterceptRequest(WebView view, WebResourceRequest request)
それを にアタッチしますWebView
。
webview.setWebViewClient(new WebViewClient() {
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
if ("file".equals(request.getUrl.getScheme())) { // plus your other conditions, of course
String mimeType = ... // your mime type
String encoding = ... // your character encoding
...
InputStream data = ... // open stream to your decrypted file data
return new WebResourceResponse(mimeType, encoding, data);
} else {
return null; // tell WebView to handle it
}
}
});
于 2016-02-29T18:14:08.717 に答える