最近刚接触Android,在测试WebView组件时发现总是出现崩溃现像:
提示:ERR_CLEARTEXT_NOT_PERMITTED
当时以为是权限问题,查找自己的AndroidManifest文件发现已经申请INTERNET权限了。
看了网上的一些大佬的文章才知道,原来由于 Android P (9.0)限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉,所以如果访问没有https协议的网站默认不不可以访问的。
解决方法:
1. 只访问带有https协议的网站。
2. 在AndroidManifest文件设置明文通信属性。
设置如下:
...
<!--权限-->
<uses-permission android:name="android.permission.INTERNET"/>
<application
...
<!--默认为false,即不允许未加密的网络流量通信-->
android:usesCleartextTraffic="true"
...
参考大佬文章地址:https://blog.csdn.net/wangjicong_215/article/details/72897240
参考大佬文章地址:https://www.jianshu.com/p/6b9ea90eb3c1