因此,我正在使用API调用构建Ionic App,当我在浏览器中运行它并获取所有数据时,一切工作正常。
但是当我构建该应用程序(离子Cordova构建android)并在手机中安装.apk时,我没有任何数据,视图只是空的,我不知道为什么。
我遵循了发现here的指示,但仍然没有。
我什至按照此question中的说明安装了“ android-permissions ” cordova插件,但是当我在手机上安装该应用程序时,它说该应用程序不需要任何许可。
我迷路了,真的不知道为什么它不起作用。请帮助需要!!
有关该项目的信息
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
谢谢
答案 0 :(得分:0)
这可能是whitelisting,或者,如果您使用的是Android 9并且您的API不使用TLS,则可能是network security问题。
将标签<access origin="https://your-server.com" />
添加到您的config.xml
。
要允许Android 9设备访问http://
(非TLS)API,需要附加的configuration。在Cordova应用中,执行以下步骤:
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
等),它应该可以在您的设备上运行。