如何通知用户ionic2中的网络连接状态

如何通知用户ionic2中的网络连接状态,ionic2,ionic-native,Ionic2,Ionic Native,根据我的应用程序,每当用户与网络断开连接时,我都必须通知他。因此在一个提供者中,我使用了两个函数,一个在联机状态下返回true,另一个在脱机状态下返回true。在app.component.ts中,am通过调用提供程序的isOnline来检查应用程序是否处于联机状态。此处是提供程序代码 从“@angular/core”导入{Injectable}; 从'@angular/Http'导入{Http}; 导入'rxjs/add/operator/map'; 从'@ionic native/Netw

根据我的应用程序,每当用户与网络断开连接时,我都必须通知他。因此在一个提供者中,我使用了两个函数,一个在联机状态下返回true,另一个在脱机状态下返回true。在app.component.ts中,am通过调用提供程序的isOnline来检查应用程序是否处于联机状态。此处是提供程序代码

从“@angular/core”导入{Injectable}; 从'@angular/Http'导入{Http}; 导入'rxjs/add/operator/map'; 从'@ionic native/Network'导入{Network}; 从“离子角度”导入{Platform}; 从'rxjs/Rx'导入{Observable}; /* 为连接提供程序生成的类。 看见https://angular.io/docs/ts/latest/guide/dependency-injection.html 有关提供者和Angular 2 DI的更多信息。 */ 声明var连接; @注射的 导出类连接{ 设备:布尔型; 可观察到的肌肉:任何; 构造函数公共http:http,公共平台:平台,公共网络:网络{ console.log'Hello Connectivity Provider'; this.onDevice=this.platform.is'cordova'; /* this.myObservable=Observable.createobservable=>{ 设结果=this.isOffline; observer.nextresult; }; */ } 等值线:布尔值{ 如果this.onDevice&&this.network.type{ 返回this.network.type!==Connection.NONE; }否则{ 返回navigator.onLine; } } Isofline:布尔{ 如果this.onDevice&&this.network.type{ 返回this.network.type===Connection.NONE; }否则{ return!navigator.onLine; } } } 请看一下文档

尤其是onChange方法:

onchange()
Returns an observable to watch connection changes

Returns: Observable<any>

onchange方法无法正常工作

我使用了github论坛的解决方案:

Observable.merge(this.network.onConnect(), this.network.onDisconnect())
.subscribe(e => console.log(e), err => console.error(err));

我在this.network.onchange…订阅不是一个函数,我使用的是ionic native 3.6.0。看看网络本机插件,代码就是这样的。


看看这里:-至于如何通知用户,这取决于您。可能使用?除了显示简单警报,还有其他方法通知用户吗?我可以在提供商中使用警报并在多个页面中订阅吗?任何人都可以参考与此相关的链接吗?我尝试过,但遇到错误::this.network.onchange…订阅不是一个函数
/**
 * Returns an observable to watch connection changes
 * @return {Observable<any>}
 */
Network.prototype.onchange = function () {
    return Observable.merge(this.onConnect(), this.onDisconnect());
};
import { Observable } from 'rxjs/Observable';

Observable.merge(this.network.onConnect(), this.network.onDisconnect()).subscribe(() => {
  this.getNetworkInfo();
});