Mit loadDataWithBaseURL von webView werden keine Bilder von der SD-Karte geladen

Ich möchte einige HTML-Inhalte in meiner Webansicht mit einigen Bildern einstellen. Ich habe im Internet gelesen, dass ich loadDataWithBaseUrl verwenden muss, um so etwas zu tun, weil ich den Ordner mit Bildern verknüpfen muss(basUrl) in Ordnung.

Mein HTML-Inhalt wird gut geladen, ich kann sogar die Javascripts perfekt ausführen, aber aus irgendeinem GrundMeine Bilder können nicht geladen werden.

Irgendwo habe ich gelesen, dass es einige Sicherheitsgründe gibt, und deshalb kann ich keine Bilder von der SD-Karte in die Webansicht ladenüber loadDataWithBaseUrlAlso weiß ich wirklich nicht, welches wahr ist.

Hier ist meine Methode, die ich ausprobiert habe, vielleicht mit einigen Fehlern, also sei nicht unhöflich:

Ich habe meine HTML-Datei hier:

mnt/sdcard/com.mypackage.myproject/3/3.html

Meine Bilder sind hier:

mnt/sdcard/com.mypackage.myproject/3/images/Cover.png

Und das ist mein Inhalt Laden:

myWebView.loadDataWithBaseURL("file:///mnt/sdcard/com.mypackage.myproject/3", myHtml, "text/html", "utf-8", "");

In meinem HTML-Code:

<img src="images/Cover.png" alt="Cover.png" height="820"/>

Wie Sie sehen, gebe ich die baseUrl, und aus irgendeinem Grund kann die Webansicht meine Bilder nicht laden.

Wie viele sagten, kann dies eine Lösung sein:

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");

ABER ich habe 700 verschiedene HTML-Dateien und es gibt viele Bilder an vielen verschiedenen Orten ... also kann ich den HTML-Code nicht ändern.

Gibt es eine Möglichkeit, den Bildordner mit meinen HTML-Dateien zu verknüpfen, um sie ordnungsgemäß als baseUrl zu verwenden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage