我将JS代码加载到WebView
. 此JSfile:
代码使用方案 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 回答