Вызов API в устройствах конфигурации Android 9 и эмулятор показывает ошибку подключения

Я использую эмулятор Android 9, у него есть подключение к Интернету из системы, и я добавил разрешение на Интернет в манифесте. Когда я пытаюсь вызвать API, отображается сообщение об ошибке: ошибка подключения.


person Athira    schedule 19.11.2018    source источник
comment
api it shows connection error. Какая ошибка?   -  person AskNilesh    schedule 19.11.2018
comment
пожалуйста, покажите сообщение об ошибке   -  person TAHA SULTAN TEMURI    schedule 19.11.2018
comment
Я использую AndroidNetworking для вызова API. показывает только ошибку подключения   -  person Athira    schedule 19.11.2018
comment
Может быть другая ошибка подключения. Вроде Internet connection ,Server Connection ошибка. Какую ошибку вы получаете?   -  person Piyush    schedule 19.11.2018
comment
com.android.volley.NoConnectionError: java.io.IOException: HTTP-трафик в открытом виде на 115.124.98.77 не разрешен   -  person Athira    schedule 19.11.2018
comment
Начиная с Android 9.0 (уровень API 28) поддержка открытого текста по умолчанию отключена. Поэтому вам нужно добавить android:usesCleartextTraffic="true" в файл манифеста с флагом application. По умолчанию это будет false.   -  person Piyush    schedule 19.11.2018


Ответы (2)


Как прокомментировал Пиюш в моем вопросе, ответ состоит в том, чтобы добавить android:usesCleartextTraffic="true" в файл manifest с тегом application

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.mypackage">

    <uses-permission android:name="android.permission.INTERNET" />
   
    <application
        android:allowBackup="true"
        android:icon="@drawable/appicon"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:usesCleartextTraffic="true">
        //your android components...
</application>
person Athira    schedule 05.01.2019

Просто добавьте ниже в тег приложение манифеста

android:networkSecurityConfig="@xml/network_security_config"

Добавьте ниже код внутри <application>, где мы добавляем activities

 <uses-library android:name="org.apache.http.legacy" android:required="false"/>

Добавьте папку XML в папку res. и создайте файл network_security_config.xml в папке XML.

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <domain-config cleartextTrafficPermitted="true">
            <domain includeSubdomains="true">your domain which is your base url for webservice.com</domain>
        </domain-config>
    </network-security-config>
person Pratibha Sarode    schedule 28.12.2018