我试图在ionic2中获取网络状态,Ionic-native docs示例不起作用:我的代码是:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Network } from '@ionic-native/network';
@Component( {
selector: 'page-network',
templateUrl: 'network.html'
})
export class NetworkPage {
Status: any = '';
ConnectionType:any = '';
constructor(private network: Network) {
let disconnectSubscription = this.network.onDisconnect().subscribe(() => {
this.Status = 'Disconnected';
console.log('network was disconnected ');
});
disconnectSubscription.unsubscribe();
let connectSubscription = this.network.onConnect().subscribe(() => {
console.log('network connected!');
this.Status = 'Connected';
setTimeout(() => {
if (this.network.type === 'wifi') {
console.log('we got a wifi connection, woohoo!');
}
}, 3000);
});
connectSubscription.unsubscribe();
}
}
我使用了ionic2。错误没有来,但它仍然不适合我。需要检查网络状态是启用还是禁用。
确保你安装了@ionic-native/core
,并在app.module.ts
中将Network
添加到@NgModule
装饰器中的提供者,最后你必须在app.component.ts
的某个地方注入或调用创建的服务
更新
删除侦听器上的取消订阅方法
disconnectSubscription.unsubscribe();
connectSubscription.unsubscribe();
我发现你首先subscribe
到网络事件然后unsubscribe
使其运作的步骤
我遇到了同样的问题,这就是我如何解决它。确保你的
"@ionic-native/core": "~4.18.0",
和
"@ionic-native/network": "^4.18.0",
通过在项目中的package.json上检查“@ ionic-native / core”版本并使用相同版本的“@ ionic-native / core”安装“@ ionic-native / network”是相同的版本,例如“@ionic” -native / core“version is”4.18.0“然后安装4.18.0版本的”@ ionic-native / network“
npm install @ionic-native/[email protected]
它应该像那样工作。