Я написал поставщика, который поможет отслеживать сетевое подключение с помощью плагина Native Network :
import { Injectable } from '@angular/core';
import { Network } from '@ionic-native/network';
import { Platform } from 'ionic-angular';
@Injectable()
export class Connectivity {
public online: boolean = false;
constructor(private network: Network) {
this.network.onDisconnect().subscribe(() => {
console.log('Network offline');
this.online = false;
});
this.network.onConnect().subscribe(() => {
this.online = true;
console.log('Network online');
});
});
}
}
Я установил соответствующие плагины (package.json
):
"cordova-plugin-network-information": "^2.0.1",
...
"@ionic-native/network": "^4.7.0",
И я включил моего провайдера в свой app.module.ts
:
providers: [
Network,
StatusBar,
SplashScreen,
Connectivity,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
Тем не менее, когда я запускаю приложение в браузере, ни одна из наблюдаемых не срабатывает.Если я попытаюсь напечатать: console.log(this.network.type)
в конструкторе провайдера, он просто напечатает null
.