在Android WebView中如何从远程URL访问本地资源?

4
为了在HTML中加载资源,我使用URL file:///android_asset/my_image.png。当我本地加载HTML时,例如使用WebView.loadData()方法时,它有效。
然而,当我从远程网站加载页面时,例如使用WebView.loadUrl("http://example.com/my_page.html"),我无法加载本地资产。它显示页面,但是图像未加载。
如何解决这个问题?
更新:
tarkeshwar提到由于安全原因不可能。我理解当你在浏览器中打开一个网页时,作为用户,你无法控制网页正在访问什么。并且访问本地文件系统时可能会读取用户的敏感数据,这也有点不同。在这里,我只想访问应用程序资产。
一种解决方法可能是下载页面并使用loadData()方法将其加载到WebView中。但是可能有一些安全开关允许WebView访问本地资产。
更新2: 我需要支持Android 2.3+。

找到解决方案了吗? - Gaurav Pangam
2个回答

1

1

是的,不幸的是这需要API 11。 - TN.
在早期版本中唯一的方法就是像你说的那样,下载页面并将其作为字符串本地加载,以便可以访问本地资源。这是我考虑过的选项之一,但我选择要求API 11。 API <11中的JavaScript也缺少关键函数。 - dres

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接