首页 > 解决方案 > WebView.loadData 在 Android 9.0 (API-29) 上不起作用

问题描述

我有一个文章应用程序,我在WebView. 在 Android 9.0 (API-29) 中,这WebView不起作用。该应用程序在我的文章活动中没有显示任何内容。

mWebView.setVisibility(View.VISIBLE);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setMinimumFontSize(14);

String htmlContent = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
   + "<head>"
   + "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />"
   + "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>"
   + "<style type=\"text/css\">body{color: #525252;} img {max-width: 100%; height: auto}</style>"
   + "</head>"
   + item.getContent() //content of item
   + "";

mWebView.loadData(htmlContent, "text/html; charset=utf-8", "UTF-8");

结果,我该如何解决这个问题?

标签: javaandroidwebviewandroid-webviewandroid-9.0-pie

解决方案


我解决了我的问题,问题出现在具有最新 Chrome 的智能手机中。

解决方案:

不使用

mWebview.loadData

方法,而是使用

mWebview.loadDataWithBaseURL

结果我的解决方案是:

mWebview.loadDataWithBaseURL(null,htmlContent,"text/html", "utf-8", null);


推荐阅读