【问题标题】:How to detect the network connection in ionic 2如何检测离子2中的网络连接
【发布时间】:2016-12-22 01:01:01
【问题描述】:

我正在尝试在this website 的帮助下检测我的 wifi 连接是否已连接。我试过了:

export class HomePage {

  constructor(public navCtrl: NavController, private platform: Platform) {

  }

  obtainNetworkConnection() {
    console.log("hello");

    // watch network for a disconnect
    let disconnectSubscription = Network.onDisconnect().subscribe(() => {
      console.log('network was disconnected :-(');
    });

    // stop disconnect watch
    disconnectSubscription.unsubscribe();


    // watch network for a connection
    let connectSubscription = Network.onConnect().subscribe(() => {
      console.log('network connected!');
    
      // We just got a connection but we need to wait briefly
       // before we determine the connection type.  Might need to wait
    
      // prior to doing any api requests as well.
      setTimeout(() => {
        if (Network.connection === 'wifi') {
          console.log('we got a wifi connection, woohoo!');
        }
      }, 3000);
    });

    // stop connect watch
    connectSubscription.unsubscribe();
  }

}

我的 .html

<ion-content class="home" padding>
  <button (click)="obtainNetworkConnection()" full>Get Nettwork Connection</button>
</ion-content>

【问题讨论】:

  • Emm.. 你把你的代码放在类体中,不要那样做 :)
  • 把它放到方法中或者我猜你需要把它放到构造函数中
  • 那么甲酸盐是什么帮助我,我在这条线上遇到了错误let disconnectSubscription = Network.onDisconnect().subscribe(() =&gt; {
  • 类有方法,它不是函数。只需将此代码放入构造函数块中
  • 是的,谢谢,我现在没有收到任何错误,但是...!!!如何从 UI 调用我的构造函数,以便我可以打印我的 console.log

标签: angular ionic2 typescript1.8


【解决方案1】:

我知道这是迟到的答案,但仅添加了相关代码和链接以供快速参考。

问题中的实际问题,构造函数参数是 缺少网络依赖。

Network Plug In Documentation

Platform Plug In Documentation

import { Network } from '@ionic-native/network';
import { Platform } from 'ionic-angular';

constructor(private network: Network, private platform: Platform) {
    platform.ready().then(() => {
       let disconnectSubscription = this.network.onDisconnect().subscribe(() => {
           console.log('network was disconnected :-(');
       });

       // stop disconnect watch
       disconnectSubscription.unsubscribe();

      // watch network for a connection
      let connectSubscription = this.network.onConnect().subscribe(() => {
          console.log('network connected!');
      });
    });

    // stop connect watch
    connectSubscription.unsubscribe();
}

希望这个答案对将来的某人有所帮助! :)

【讨论】:

  • 这个解决方案可以用来跟踪网络连接的变化。有没有其他方法可以在初始加载应用程序时检查连接状态
  • @sumitmehra 你得到答案了吗?我也有同样的问题。
猜你喜欢
  • 1970-01-01
  • 2012-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-03
  • 2010-10-10
  • 1970-01-01
  • 2017-06-15
相关资源
最近更新 更多