我在应用中有一个WebView
,只有一个目的,加载一些HTML并渲染它。内容是一个zip文件,我成功地直接从zip文件传递了一个InputStream
对象而没有提取它。
这一切都运行良好,我可以使用WebView
与zip存档中的内容进行正确渲染,但我没有让它播放视频。
视频受到与所有其他资源相同的约束。我希望在shouldInterceptRequest()
需要获取视频资源时调用WebView
,但它根本不会。
我确信问题是在加载文件时,WebView
显然尝试了本地文件,当它失败时,它会尝试从服务器获取它。
我的应用程序,没有互联网许可,它旨在供离线使用。此外,我定义了自定义URI方案,并且它运行良好。
只需
webView.loadUrl("myscheme://myresource/index.html")
然后在shouldInterceptRequest()
我拦截并解析文件名,在zip存档中找到它,得到一个InputStream
,其余的很简单。除非因为它不适用于视频src
。
我会接受任何有效的解决方案,因为在这一点上,我只是想让它起作用。但我更喜欢
WebView
内部传递某些内容传递给用于显示视频的setDataSource()
对象的MediaPlayer
方法的方式。