我需要监控网络变化并在我的 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的错误。有那么真实吗?如果不是这样,如何监控网络更改。谢谢。
将代码添加到平台就绪中。应用运行后
let disconnectnet = Network.onDisconnect().subscribe(() => {
console.log('you are offline');
});
let connectnet = Network.onConnect().subscribe(()=> {
console.log('you are online');
});
现在,如果您面对网络插件但未安装,请检查控制台上的断开连接并连接网络。 然后使用离子科尔多瓦插件 RM 科尔多瓦插件网络信息的问题 如果此命令不起作用,那么您可以手动删除网络插件,只需删除 cordova netowrk 表单配置.xml 和 package.json,并从插件文件夹中删除 cordova 网络文件夹,然后使用 ionic cordova 插件安装 添加 cordova-plugin-network-information
您可能需要再次删除并添加平台。有时 Ionic 与插件配置/安装处于不一致的状态,这通常会解决它。
ionic cordova platform rm <platform>
ionic cordova platform add <platform>