问题:WebView 加载失败(net::ERR_CLEARTEXT_NOT_PERMITTED)/ 网络图片无法加载
原因:从Android 9.0(API级别28)开始,默认情况下限制了明文流量的网络请求,对未加密流量不再信任,直接放弃请求,因此http的url均无法在webview中加载,https 不受影响。
解决方案:
// AndroidManifest.xml 声明网络权限
<uses-permission android:name="android.permission.INTERNET" />
方案1、
// AndroidManifest.xml 打开权限
<application
...
android:usesCleartextTraffic="true"
...>
...
</application>
方案2、服务器和本地应用都改用 https(推荐)
方案3、targetSdkVersion 降级回到 27
方案4、
// res 下新建 xml 目录,创建文件:network_security_config.xml ,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
// AndroidManifest.xml Application 增加配置
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...>
...
</application>