Я пишу приложение, которое отправляет запросы в API REST.
Вызовы API работают в веб-браузере , но не в эмуляторе и не на устройстве.
Ionic CLI 4.4.0
Cordova 8.1.2
Что я сделал:
Я использую разрешения для Android, как на этой стороне :
app.modules.ts
import { AndroidPermissions } from '@ionic-native/android-permissions';
@NgModule({
declarations: [
],
imports: [
],
entryComponents: [
],
providers: [
AndroidPermissions
],
bootstrap: [IonicApp]
})
export class AppModule {}
api-call.ts
import { AndroidPermissions } from '@ionic-native/android-permissions';
export class ApiCallPage {
constructor(private androidPermissions: AndroidPermissions) {
this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.INTERNET).then(
result => console.log('Has permission?', result.hasPermission),
err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.INTERNET)
);
}
}
Целевое устройство (устройство и эмулятор вМенеджер AVD) имеет API 22 (Android 5.1) .
config.xml
<access origin="*" />
<preference name="android-minSdkVersion" value="19" />
<plugin name="cordova-plugin-android-permissions" spec="1.0.0" />
<engine name="android" spec="^7.1.1" />
Последний (название движка), вероятно, для версии Cordova-Androidи не должно быть 5.1.В package.json находится под зависимостями "cordova-android": "^7.1.1"
.
- / платформы / android / приложение / сборка / посредники / манифесты / full / debug / AndroidManifest.xml
- / platform / android / app / src / main / AndroidManifest.xml
... оба файла включают в себя (не написано от руки):
<uses-permission android:name="android.permission.INTERNET" />
Это не проблема CORS .API REST работает на сервере, отличном от веб-браузера, и работает с веб-браузером.
Я думаю, что все сделал.Что-то отсутствует или не так?
Что нужно сделать, чтобы иметь доступ к Интернету через Ionic (cordova)?
[ОБНОВЛЕНИЕ] Информация о приложении показывает мне разрешения, которыеприложение имеет полный доступ к сети.Теперь я в растерянности.
![screenshot CAT S30 App-Info](https://i.stack.imgur.com/gTMeV.png)
В API я регистрирую каждый запрос во время загрузки.Запрос приложения с устройства не поступает.Приложение в браузере прибывает.