Webview的loadData()在android 10.0(Q)中不起作用

问题描述 投票:1回答:4

[我在这里尝试将HTML代码作为字符串加载到Webview的loadData()中。在此方法上什么都没有发生,但是相同的方法在sdk 29下面的工作方式像魅力一样。

webview.loadData(html_code,"text/html",null);

注意:这里我不对字符串执行任何编码或解码操作。我只是将其作为字符串传递给上述方法。

android android-webview android-10.0
4个回答
2
投票

使用此代码,它将起作用。

String newhtml_code = Base64.encodeToString(html_code.getBytes(), Base64.NO_PADDING);
        testWebView.loadData(newhtml_code,"text/html", "base64");

1
投票

现在对字符串html_code执行base-64编码后,它正在工作。

Solved issue by passing html_code string as per given instruction in docs


0
投票

尝试致电

String encodedHtml = Base64.encodeToString(html_code.getBytes(), Base64.NO_PADDING);

webview.getSettings().setJavaScriptEnabled(true);

webview.loadData(encodedHtml , "text/html", "base64");

如下所示

    String html_code= "<html><body>Your Actualtext.</body></html>";
    String encodedHtml = Base64.encodeToString(html_code.getBytes(), Base64.NO_PADDING);
 webview.getSettings().setJavaScriptEnabled(true);
    webview.loadData(encodedHtml , "text/html", "base64");

有关更多详细信息,请参见this链接


0
投票

清单文件在

 android:usesCleartextTraffic="true"

 WebSettings settings = wb_webview.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setSupportZoom(true);
        settings.setBuiltInZoomControls(true);
String html_code = "html code";
wb_webview.loadData(Base64.encodeToString(html_code.getBytes(), Base64.NO_PADDING) , "text/html", "base64");
© www.soinside.com 2019 - 2024. All rights reserved.