WebView使用loadDataWithBaseURL显示源html,而不是渲染视图

时间:2015-05-24 07:06:12

标签: android html android-webview

我正在开发一个使用WebView来呈现自定义html的应用程序。 但是当我打电话给 loadDAtaWithBaseURL(URL, "<html><h1>TEST</h1></html>", "text/html; charset=utf-8;", "utf-8", null);
它在Genymotion模拟器上显示html本身(未呈现一个)。 在我的HTC-one上,它与渲染的html一起正常工作。 每个结果都显示为附件。

Shown result on Genymotion emulator Shown result on HTC one

有没有人有同样的问题或解决方案? 感谢。

1 个答案:

答案 0 :(得分:2)

请勿在KitKat下面输入mimeType。

fun getMimeType(): String? {
    return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        "text/html; charset=utf-8"
    } else {
        null
    }
}
loadDAtaWithBaseURL(URL, "<html><h1>TEST</h1></html>", getMimeType(), "utf-8", null);

Java:

if(Build.VERSION.SDK_INT < 21)
    webView.loadDataWithBaseURL("about:blank","<html><h1>TEST</h1></html>","text/html", "UTF-8",null);
else
    webView.loadDataWithBaseURL("about:blank","<html><h1>TEST</h1></html>","text/html; charset=utf-8", "UTF-8",null);