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

use*_*344 16 html android android-webview

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

在Genymotion模拟器上显示的结果 在HTC上显示的结果

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

Oma*_*Don 0

关于您提供的信息,我无法对问题进行明确的调试,但这是应该如何完成的,只是为了检查您是否错过了某些内容

  1. 首先,将此行添加到清单文件中的活动中

  2. 使用加载您的数据

    public void loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String historyUrl);

这是这样完成的

loadDataWithBaseURL(Url, data, "text/html", "UTF-8", historyUrl)
Run Code Online (Sandbox Code Playgroud)

注意

如果基本 URL 使用 data 方案,则此方法相当于调用 loadData(),并且historyUrl 被忽略,并且数据将被视为 data: URL 的一部分。如果基本 URL 使用任何其他方案,则数据将作为纯字符串(即不是数据 URL 的一部分)加载到 WebView 中,并且字符串中的任何 URL 编码实体都不会被解码。