Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android WebView loadWithBaseURL_Android_Css_Webview - Fatal编程技术网

Android WebView loadWithBaseURL

Android WebView loadWithBaseURL,android,css,webview,Android,Css,Webview,我想知道如何正确设置WebViews loadWithBaseURL的路径 我想做的是,在webview中加载html,它使用存储在外部存储器上的资源 例如: <html> <head> <style>body{ background-image:url(beach.jpg); }</style> </head> <body> <img src="football.jpg" /> </body>

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

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

例如:

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

body{背景图片:url(beach.jpg);}
其中beach.jpg和ball.jpg直接存储在手机外部存储器的“root”目录中(/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);
String html=“…上面的示例…”;
String base=Environment.getExternalStorageDirectory().getAbsolutePath().toString();
loadDataWithBaseURL(“文件:/”+base,html,“text/html”,“utf-8”,null);
然而,路径似乎是错误的,因为我无法在webview中看到图像。
有什么建议吗?

您是否允许上网

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

这些也可能有帮助


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

webView.getSettings().setAllowFileAccess(true);

此外,如果您自己构建HTML,则可以考虑使用完整的路径来执行图像。

String html = "<html>... <img src=\"file://"+base+"/football.jpg\" />";
String html=“…”;
Damn,webView.getSettings().setAllowFileAccess(true);解决了这个问题。。。非常感谢。