I am using Android 9 emulator, it has internet connection from system and I have added internet permission in manifest. When I try to call api it shows error message as : connection error.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
As Piyush commented in my question the answer is to add
android:usesCleartextTraffic="true"
in manifest file with in application
tag
<?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>
回答2:
Just add below in manifest's application tag
android:networkSecurityConfig="@xml/network_security_config"
Add below code inside the <application>
where we add activities
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
Add the XML folder in the res folder. and create a network_security_config.xml
file in the XML folder.
<?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>