将手机从Android Oreo 8.0更新为Android Pie 9.0之后,我不再可以使用HttpUrlConnection从MySQL数据库获取数据。
我尝试使用模拟器Android Oreo 8.0并显示数据。但是,当我尝试使用模拟器Android Pie 9.0时,不会显示数据。请帮助我。
答案 0 :(得分:1)
我最近在Android 9上遇到了同样的问题,但是我不得不在不同的屏幕上使用一些URL。因此,我向Manifest添加了android:usesCleartextTraffic =“ true”并成功了,但是我们不想为此牺牲整个应用程序的安全性。因此,解决方法是将链接从HTTP更改为https。但是,如果您只需要使用http与您的应用进行通信,那么这就是您的解决方案。
android:networkSecurityConfig="@xml/security_config"
将此添加到XML
<network-security-config>
<base-config cleartextTrafficPermitted="true"/>
<debug-overrides>
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
答案 1 :(得分:0)
如果您的应用面向Android 9或更高版本,则isCleartextTrafficPermitted()
方法默认情况下返回false。
如果您的应用需要为特定域启用明文,则必须在应用的网络安全配置中将这些域的cleartextTrafficPermitted设置为true。
Framework Security changes in Android 9 that improve your app's security