Данные не отображаются на Android Pie 9.0 - PullRequest
1 голос
/ 05 апреля 2019

После того, как я обновил свой телефон с Android Oreo 8.0 до Android Pie 9.0, я больше не могу получать данные из базы данных MySQL с помощью HttpUrlConnection.

Пробую с эмулятором Android Oreo 8.0 и данные отображаются. Однако при попытке с эмулятором Android Pie 9.0 данные не отображаются. Пожалуйста, помогите мне.

Ответы [ 2 ]

1 голос
/ 05 апреля 2019

У меня недавно была та же проблема для Android 9, но мне пришлось использовать несколько URL-адресов для разных экранов. Поэтому я добавил android: usedCleartextTraffic = "true" в Manifest, и это сработало, но мы не хотели ставить под угрозу безопасность всего приложения для этого. Таким образом, исправление было в изменении ссылок с 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>
0 голосов
/ 05 апреля 2019

Если ваше приложение предназначено для Android 9 или выше, метод isCleartextTrafficPermitted() по умолчанию возвращает false.

Если вашему приложению требуется включить открытый текст для определенных доменов, вы должны явно установить для cleartextTrafficPermitted значение true для этих доменов в конфигурации безопасности вашего приложения.

Framework Security изменения в Android 9, которые повышают безопасность вашего приложения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...