Использование webView loadDataWithBaseURL не загружает изображения с SDCard
Я хотел бы установить HTML-контент в моем веб-просмотре с некоторыми картинками. Я прочитал в Интернете, что для этого нужно использовать loadDataWithBaseUrl, потому что мне нужно связать папку с изображениями.(basUrl) с целью.
Мой HTML контент прекрасно загружается, я могу даже отлично запустить javascripts, но по какой-то причинеmy images cannot be loaded.
Где-то я читал, что есть некоторые соображения безопасности, и поэтому я не могу загрузить изображения с SD-карты в веб-просмотр, а некоторые говорят, что это легко сделать.via loadDataWithBaseUrlтак что я действительно не знаю, какой из них является правдой.
Вот мой метод, который я попробовал, может быть, с некоторыми ошибками, так что не хамите:
I got my html file here:
mnt/sdcard/com.mypackage.myproject/3/3.html
My images are here:
mnt/sdcard/com.mypackage.myproject/3/images/Cover.png
And this is my content loading:
myWebView.loadDataWithBaseURL("file:///mnt/sdcard/com.mypackage.myproject/3", myHtml, "text/html", "utf-8", "");
In my html code:
<img src="images/Cover.png" alt="Cover.png" height="820"/>
Итак, как вы видите, я даю baseUrl, и по какой-то причине веб-просмотр не может загрузить мои изображения.
Как многие говорили, это может быть решением:
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setBuiltInZoomControls(true);
String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString();
String imagePath = "file:/"+ base + "/test.jpg";
String html = "<html><head></head><body><img src=\""+ imagePath + "\"></body></html>";
mWebView.loadData(html, "text/html","utf-8");
BUT, i have 700 different html files and there are many images in many different places... so i cannot modify the html code.
Есть ли способ связать папку изображений с моими HTML-файлами, чтобы правильно использовать их в качестве baseUrl?