java - 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");
结果,我该如何解决这个问题?
解决方案
我解决了我的问题,问题出现在具有最新 Chrome 的智能手机中。
解决方案:
不使用
mWebview.loadData
方法,而是使用
mWebview.loadDataWithBaseURL
结果我的解决方案是:
mWebview.loadDataWithBaseURL(null,htmlContent,"text/html", "utf-8", null);
推荐阅读
- firebase - 用户公司,Firestore 中的模型
- apache-spark - Spark包标志vs jars目录?
- javascript - 1970 年 1 月 1 日之前的 javascript 正则表达式日期
- php - 使用 Autodesk Forge 从 IFC 文件获取几何数据(尺寸)
- python - 清理 LexisNexis txt 文件,ZeroDivisionError
- r - 使用列中的变量在 ggplot 中绘制折线图
- javascript - HTML5 视频:使用 Blob URL 的流式视频
- php - 如何使用 fetch() 获得与 fetchAll() 相同的结果?
- java - StanfordCoreNLP 作为线程
- c# - Asp.Net Core 2.0 Web Api:结合 jwt 令牌使用 asp.net 身份 cookie 来实现记住我的功能