loadDataWithBaseURL 在 targetSdkVersion>=30 时无法正常工作
loadDataWithBaseURL not working correct with targetSdkVersion>=30
webView.loadDataWithBaseURL("file:///" + imagePath(), htmlWithImage, "text/html", "utf-8", "");
将targetSdkVersion设置为30或更多时,HTML页面中不显示存储在imagePath()中的图像。
targetSdkVersion=29 显示图片没有问题
我需要更新targetSdkVersion为30,否则无法发布应用。 Google Play 控制台说我需要更新到 30。
有什么提示吗?
它对我有用:
String base64version = Base64.encodeToString(htmlData.getBytes(), Base64.DEFAULT);
webView.loadData(base64version, "text/html; charset=UTF-8", "base64");
如果不起作用,只需添加此行:
webView.getSettings().setAllowFileAccess(true);
因为webSetting.setAllowFileAccess方法在29及之前版本默认为true,30及之后版本默认为false
webView.loadDataWithBaseURL("file:///" + imagePath(), htmlWithImage, "text/html", "utf-8", "");
将targetSdkVersion设置为30或更多时,HTML页面中不显示存储在imagePath()中的图像。
targetSdkVersion=29 显示图片没有问题
我需要更新targetSdkVersion为30,否则无法发布应用。 Google Play 控制台说我需要更新到 30。
有什么提示吗?
它对我有用:
String base64version = Base64.encodeToString(htmlData.getBytes(), Base64.DEFAULT);
webView.loadData(base64version, "text/html; charset=UTF-8", "base64");
如果不起作用,只需添加此行:
webView.getSettings().setAllowFileAccess(true);
因为webSetting.setAllowFileAccess方法在29及之前版本默认为true,30及之后版本默认为false