我们有一个应用程序来查看特定的材料。在材料类型中,有一个在应用程序内部的WebView小部件显示的HTML5演示文稿。现在我们需要获得关于此视图的详细信息(例如幻灯片播放持续时间,列表元素选取可用位置等)。
这是客户想要的内容-我们不能更改它。
我们决定在HTML5中使用IndexedDB在本地存储信息。现在,存储起来了(就我所知)。下一个问题是如何通过应用程序获取此信息,目前还没有解决。不幸的是,谷歌没有帮助我。
如果我知道路径,如何从IndexedDB文件中获取信息?或者您是否知道从html到原生应用程序传输数据的另一种方法?
附言:编写自定义浏览器可能不是解决方案。
更新
发现了从JS加载文件的解决方案。在Chrome浏览器中,它会自动保存在下载中。在Android应用程序中,我设置了WebView对象DownloadListener来侦听文件保存事件。
捕获保存文件工作完美。但是该URL路径看起来像blob: file / ...,我无法从中获取信息。尝试使用ContentResolver,创建File对象,替换blob:字符串为空,启动ACTION_VIEW意图-没有什么帮助。
更新
尝试使用DownloadManager和DownloadManager.Request-它会抛出以下异常。
与
这是客户想要的内容-我们不能更改它。
我们决定在HTML5中使用IndexedDB在本地存储信息。现在,存储起来了(就我所知)。下一个问题是如何通过应用程序获取此信息,目前还没有解决。不幸的是,谷歌没有帮助我。
如果我知道路径,如何从IndexedDB文件中获取信息?或者您是否知道从html到原生应用程序传输数据的另一种方法?
附言:编写自定义浏览器可能不是解决方案。
更新
发现了从JS加载文件的解决方案。在Chrome浏览器中,它会自动保存在下载中。在Android应用程序中,我设置了WebView对象DownloadListener来侦听文件保存事件。
捕获保存文件工作完美。但是该URL路径看起来像blob: file / ...,我无法从中获取信息。尝试使用ContentResolver,创建File对象,替换blob:字符串为空,启动ACTION_VIEW意图-没有什么帮助。
更新
尝试使用DownloadManager和DownloadManager.Request-它会抛出以下异常。
java.lang.IllegalArgumentException: Can only download HTTP/HTTPS URIs: file:///fa4857ad-0e86-454a-a341-123729e9ece0
与
blob:file
URI 相同。