Usando loadDataWithBaseURL do webView não carregando imagens do sdcard

Eu gostaria de definir algum conteúdo html na minha webview com algumas fotos. Eu li na internet eu devo usar loadDataWithBaseUrl para fazer uma coisa dessas porque eu preciso ligar a pasta de imagens(basUrl) em ordem.

Meu conteúdo html é muito bom, eu posso até executar os javascripts perfeitamente, mas por algum motivominhas imagens não podem ser carregadas.

Em algum lugar eu li há algumas razões de segurança e é por isso que eu não posso carregar imagens de cartão SD para webview e alguns diz que pode ser facilmente feitovia loadDataWithBaseUrlEntão eu realmente não sei qual é a verdade.

Aqui está o meu método que eu tentei, talvez com alguns erros, então não seja rude:

Eu tenho meu arquivo html aqui:

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

Minhas imagens estão aqui:

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

E este é o meu carregamento de conteúdo:

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

No meu código html:

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

Então, como você vê, eu dou o baseUrl e, por algum motivo, o webview não pode carregar minhas imagens.

Como muitos disseram, isso pode ser uma solução:

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

MAS, eu tenho 700 arquivos html diferentes e há muitas imagens em muitos lugares diferentes ... então eu não posso modificar o código html.

Existe uma maneira de vincular a pasta de imagem aos meus arquivos html para usá-los corretamente como um baseUrl?

questionAnswers(1)

yourAnswerToTheQuestion