侦听网络更改 - Ionic 2



我需要监控网络变化并在我的 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>

相关内容

  • 没有找到相关文章

最新更新