对于我的 android 应用程序,我想将一个 html 文件加载到 webview,这个 html 文件将存储在“data/data/com.myapp/files/index.html”中。我可以使用关联的 javascript 文件加载它,但是当我想从“data/data/com.myapp/files/img/image.png”加载图像时,它不起作用。这就是我尝试这样做的方式:
webView.loadDataWithBaseURL(getFilesDir()+"/img/", html, "text/html","utf-8", ""); //html is my html string I get from index.html
我也试过:
webView.loadUrl(getFilesDir()+"/img/"+index.html");
在我的 html 文件中,我有
<img id="image" src="/img/image.png"/>
我已经验证并且文件已加载到磁盘上,但我无法在 webview 上显示它,图像显示为空白。我就是不能让它工作。所以我的问题是:这甚至可能吗?如果是的话,有人可以告诉我怎么做吗?
我搜索并发现其他人也有类似的问题,但没有一个解决方案有效。
编辑:将我的文件放在资产目录中对我来说不是一个选择,我已经测试过它并且它有效。
我刚刚尝试了我在这里找到的以下代码:Load the image saved in sdcard in webview
String base = getFilesDir();
String imagePath = base + "/test.jpg";
String html = ("<html>
<head>
</head>
<body>
<img src=\""+ imagePath + "\">
</body>
</html>
");
mWebView.loadData(html, "text/html","utf-8");
但仍然没有成功,显然它对提出问题的人有用。我也测试了外部存储,但结果是一样的。所有权限都在 manifest.xml 中。所以我真的不明白问题是什么。任何建议或意见将不胜感激。