Android - aplikace nefunguje na skutečném telefonu, ve virtuálním funguje (Rest API přes http)

Android - aplikace nefunguje na skutečném telefonu, ve virtuálním funguje (Rest API přes http)

Dobrý den,

pomocí návodu pro vývoj na androidu jsem zprovoznil RestAPI aplikaci s Volley library v Android studio.

Aplikace přístupuje na web Rest API pod lokální IP adresou přes http takto http://192.168.5.22 , nepotřebuji https, je to pouze zatím vývojová verze.

Testuji to přes AVD na virtuálním stroji s API 24 - Nougat - Android 7.0 (+ i Android 8 Oreo). Tam vše funguje. Když to pustím na skutečném telefonu, který má android 9 a dalším s android 10, tak to nefunguje - nedostanu se k datům.

Pokud použiji starší telefon s android 4.4 kitkat, tak aplikace funguje - dostanu přes rest api výpis dat.

Nevím co s tím, myslel jsem si, že je problém s oprávněním, ale to mám nastavené správně v AndroidManifest.xml :

< uses-permission android:name="android.permission.INTERNET" / >
< uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" / >

Prosím o pomoc, jsem na tom zaseknutý už několik dnů, šel jsem na to i tak, že jsem myslel, že musím řešit na novějším androidu tzv Runtime permissions, ale to vypadá na špatnou cestu. Dle všeho se na androidu o práva k internetu žádat nemusí - měla by to mít každá android aplikace automaticky když je to definováno v AndroidManifest.xml .

Díky za pomoc

ODPOVĚĎ


Dobrý den,

celý problém s přístupem k internetu jsem vyřešil nakonec velice jednoduše, ale problém bylo najít řešení.

Přidal jsem do android manifestu jeden řádek:
android:usesCleartextTraffic="true"

A aplikace funguje.

Co jsem se dočetl, tak toto se musí nastavit pokud má cílový webový server pouze protokol http a nikoliv zabezpečený https.... Zavedeno to bylo od verze Android 9...
Jak se ti článek líbil?

Komentáře (0)

Přidat komentář