今天学习WebView控件,发现在android 11的模拟器和android 10的手机上都无法直接使用webview,但安卓5.1的低版本模拟器可以正常使用。
查询原因是 从Android 9.0(API级别28)开始,默认情况下禁用明文支持。因此http的url均无法在webview中加载。
解决方法:
在manifest 中application节点添加
android:usesCleartextTraffic="true"
添加后如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:usesCleartextTraffic="true"
...>
...
</application>
</manifest>
解决方法来自:https://blog.csdn.net/qq_33721320/article/details/84400825
android高版本进行了很多权限上的管控,包括上周我尝试向sdcard写入数据时在android 11的模拟器中就无法实现,在android 5.1的模拟器上能实现,具体解决方法还需要继续研究。