web-dev-qa-db-fra.com

Ionic HTTP natif ne fonctionne pas pour Android 9 (Pie) et plus?

J'ai créé une application qui se connecte avec succès à notre serveur en utilisant Ionic HTTP natif, en la testant avec la version Samsung Galaxy J7 Prime OS Marshmallow et plusieurs autres qui n'étaient pas encore sous Android Pie. Pour une raison quelconque, lorsque je l'ai testé avec un appareil sous Android Pie, cela ne fonctionnera plus et je reçois des problèmes de stratégie CORS. Quelqu'un a-t-il rencontré un problème similaire problème? Y a-t-il une solution de contournement? Malheureusement, les modifications dans la configuration du serveur ne sont pas une option. J'ai également lu quelques solutions sur le proxy mais je ne sais pas comment les implémenter.

Versions: cordova-plugin-advanced-http: 2.1.1 ionic-native/http: 5.8.0

6
Pete

Pour résoudre ce problème, vous devez apporter des modifications au fichier config.xml.

La première chose que vous devez changer est la balise 'widget', elle devrait ressembler à celle-ci:

<widget id="com.dynamicsoft.app" version="2.2.2" xmlns="http://www.w3.org/ns/widgets" 
xmlns:Android="http://schemas.Android.com/apk/res/Android" 
xmlns:cdv="http://cordova.Apache.org/ns/1.0">

Après cela, à l'intérieur de la plateforme où name = 'Android', vous devez ajouter ce code:

<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application">
    <application Android:usesCleartextTraffic="true" />
</edit-config>

Après cela, vous pouvez exécuter la reconstruction de l'application.

0
nikola.maksimovic