首先,在AndroidManifest.xml文件中添加以下权限:
然后在res目录下创建xml文件夹并在其中创建xml文件,命名为file_paths.xml,并输入以下代码:
在你的WebView所在的Activity中,使用以下代码进行WebView的设置:
WebView webView = (WebView) findViewById(R.id.web_view);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowFileAccess(true); // 允许文件访问
webView.getSettings().setDomStorageEnabled(true); // 开启DOM存储API权限
webView.getSettings().setDatabaseEnabled(true); // 开启数据库存储API权限
webView.getSettings().setAppCacheEnabled(true); // 开启Application Cache存储API权限
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/your_image_path";
File file = new File(path);
try {
String url = file.toURI().toURL().toString();
webView.loadUrl(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
注意:以上代码中的“/your_image_path”需要替换为你自己图片的路径,你也可以根据你的需要更改WebView的设置。
最后,在Manifest.xml中添加以下代码,以指向刚刚创建的file_paths.xml文件:
现在你就可以在WebView中成功显示从SD卡中读取的图片啦!