最近使用WebView加载Url显示页面,因为之前已经使用过很多次这种方式了,打包后在6.0的测试机上测试没什么问题,然后安心的将包给测试,测试大佬的手机系统是Android 9.0的,所以就出现了页面无法加载的情况,还以为是自己代码哪里写错了,检查了很多遍都没发现什么问题,然后在5.0,7.0,8.0的测试机上测试都没问题,那就想到是9.0系统问题了,先看页面报错图:
在这里插入图片描述看了Android 9.0新特性才知道,原来9.0系统已经默认不支持http请求了,谷歌默认要求链接是加密链接了。
要解决这个问题有以下三种方案,也适用于http无法访问网络的问题:
1.将url路径的地址由http改成https,这就需要让后台大佬更改了。
2.将targetSdkVersion 改成27或者以下。
3.既然默认情况下禁用明文支持,那我们就手动设置启动支持明文,这就需要
使用:android:usesCleartextTraffic=[“true” | “false”]
true: 是否使用明文传输,也就是可以使用http
false: android 9.0 默认情况下使用https
那就是添加:android:usesCleartextTraffic="true" 即可解决问题。
以下是公众号(longxuanzhigu),之后发布的文章会同步到该公众号,方便交流学习Android知识及分享个人爱好文章:
在这里插入图片描述
网友评论