我需要监控网络更改并在Ionic 2 Mobile应用程序中执行操作。为此,我使用了Ionic的网络模块。
$ ionic cordova plugin add cordova-plugin-network-information
$ npm install --save @ionic-native/network
但它始终显示一个警告,如
18:29:51] console.warn: 'Native: tried accessing the Network plugin but it's not installed.
[18:29:51] console.warn: Install the Network plugin: 'ionic cordova plugin add cordova-plugin-network-information'
但是,在运行应用程序并切换网络时,它无法按预期工作。以下是我的代码
// watch network for a disconnect
let disconnectSubscription = this.network.onDisconnect().subscribe(() => {
console.log('network was disconnected :-(');
});
// watch network for a connection
let connectSubscription = this.network.onConnect().subscribe(() => {
console.log('network connected!');
if (this.network.type === 'wifi') {
console.log('we got a wifi connection, woohoo!');
}
});
断开连接时,不执行任何操作。在连接agin时,会触发断开连接侦听器,然后是连接侦听器。下面是控制台。
[18:30:15] console.log: network was disconnected :-(
[18:30:16] console.log: network connected!
[18:30:16] console.log: we got a wifi connection, woohoo!
在少数论坛中,它说这是Ionic 2的一个错误。这是真的吗?如果不是这样,如何监控网络变化。感谢。
答案 0 :(得分:0)
将代码添加到平台就绪。应用程序运行后
let disconnectnet = Network.onDisconnect().subscribe(() => {
console.log('you are offline');
});
let connectnet = Network.onConnect().subscribe(()=> {
console.log('you are online');
});
现在断开并连接您的网络,检查您的控制台是否面向网络插件但未安装。问题然后通过使用离子cordova插件rm cordova-plugin-network-information如果此命令不起作用然后你可以手动删除网络插件只需删除cordova netowrk表单config.xml和package.json,并从插件文件夹中删除cordova网络文件夹然后使用ionic cordova插件安装添加cordova-plugin-network-information
答案 1 :(得分:0)
你可能需要删除&再次添加平台。有时Ionic与插件配置/安装处于不一致状态,这通常会解决它。
ionic cordova platform rm <platform>
ionic cordova platform add <platform>