1

我想知道如何正确设置 WebViews loadWithBaseURL 的路径。

我想要做的是,在 webview 中加载 html,它使用存储在外部存储上的资源。

例如:

<html>
<head>
<style>body{ background-image:url(beach.jpg); }</style> 
</head>
<body> 
<img src="football.jpg" />
</body>
</html>

其中 beach.jpg 和 ball.jpg 直接存储在手机外部存储的“根”目录中(/sdcard/beach.jpg 和 /sdcard/ball.jpg)

所以我尝试按如下方式加载内容:

String html = "<html> ... example from above ... </html>";
String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString();
webView.loadDataWithBaseURL("file://" + base, html, "text/html", "utf-8", null);

但是路径似乎是错误的,因为我在 webview 中看不到图像。有什么建议么?

4

2 回答 2

2

您是否在 webview 上启用了文件访问?

webView.getSettings().setAllowFileAccess(true);

此外,如果您自己构建 HTML - 您可能会考虑使用图像的完整路径。

String html = "<html>... <img src=\"file://"+base+"/football.jpg\" />";
于 2013-02-07T18:15:35.373 回答
0

你有互联网许可吗?

<uses-permission android:name="android.permission.INTERNET" /> 

这些也可能有帮助..

于 2013-02-07T18:04:58.350 回答