Приложение Ionic не получает данные от удаленного API на устройстве Android - PullRequest
1 голос
/ 25 сентября 2019

Итак, я создаю приложение Ionic с вызовами API, все работает нормально, когда я запускаю его в браузере и получаю все свои данные.

Но когда я собираю приложение (ionic cordova build android) и устанавливаю .apk в свой телефон, я не получаю данных, представление просто пустое, и я не знаю почему.

Я следовал инструкциям, которые нашел здесь , но все еще ничего.

Я даже установил плагин Cordova " android-permissions ", как объяснено в этом вопросе но когда я устанавливаю приложение на свой телефон, оно говорит, что приложение не требует никакого разрешения.

Я потерян и не знаю, почему оно не работает.Помогите пожалуйста!.

Информация о проекте

Created using "ionic start appName blank --type=angular"

Ionic Framework :

@ionic/angular 4.9.1

Ionic CLI :

5.4.1

Cordova CLI :

9.0.0

Cordova Platforms : 

android 8.1.0

Спасибо

1 Ответ

0 голосов
/ 25 сентября 2019

Это может быть белый список или, если у вас Android 9 и ваш API не использует TLS, проблема сетевой безопасности .

белый список

Добавьте тег <access origin="https://your-server.com" /> к вашему config.xml.

Сетевая безопасность

Чтобы разрешить устройствам Android 9 доступ к http:// (не-TLS) API, дополнительно требуется конфигурация .В приложении Cordova выполните следующие действия:

  1. Создайте файл с именем network_security_config.xml в корневом каталоге вашего проекта, содержащий следующее:
    <?xml version="1.0" encoding="utf-8"?>
      <network-security-config>
        <domain-config cleartextTrafficPermitted="false">
      </domain-config>
    </network-security-config>
Добавьте это к своему config.xml, чтобы включить новую конфигурацию в манифест Android:
    <platform name="android">
        ...
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
            <application android:networkSecurityConfig="@xml/network_security_config" />
        </edit-config>
        <resource-file src="network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
        ...
    </platform>

Перестройте платформу Android (т. Е. ionic cordova platform rm android и ionic cordova platform add android и т. Д.) Идолжно работать с вашего устройства.

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