Http-запрос все еще не разрешен после включения его с помощью networkSecurityConfig - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь отправить запрос http на устройство, которое создает собственную точку доступа Wi-Fi и разрешает только запросы http. С Android 8 и ниже HTTP-запрос успешно, но с Android 9 они терпят неудачу. Хотя с Google Pixel 2, кажется, работает, который использует Android 9.

Я попытался включить android: используетCleartextTraffic = "true" в AndroidManifest.xml.

Я установил networkSecurityConfig, как предложено в решении, найденном здесь Как разрешить все типы сетевых подключений HTTP и HTTPS в Android (9) Pie?

AndroidManifestXml

   <application
      android:networkSecurityConfig="@xml/network_security_config"
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:allowBackup="false"
      android:theme="@style/AppTheme">
      <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustResize"
        android:launchMode="singleTask"
        android:usesCleartextTraffic="true">

network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

1 Ответ

0 голосов
/ 03 июня 2019

Наконец-то найдено решение.Потому что на устройстве, к которому я подключался, не было подключения к интернету.Когда я подключился к устройству вручную, я увидел, что Android 9 показал мне всплывающее окно со следующим текстом: Wi-Fi не имеет Интернета, вы уверены, что хотите подключиться к нему.

Решением было использование функции forceWifi (), которая заставляет android использовать соединение.

...