Ionic 2检查互联网连接

时间:2017-02-02 09:31:05

标签: ionic-framework

我已经安装了Cordova网络插件,但似乎无法检查网络连接。

这是我的代码

import { Network } from 'ionic-native';

declare var navigator: any;
declare var Connection: any; 

this.platform.ready().then(() => {
   if(Network.connection === 'none') {
       let alert = this.alertCtrl.create({
       title: "Internet Connection",
       subTitle:"Please Check Your Network connection",
       buttons: [{
          text: 'Ok',
          handler: () => {
              this.platform.exitApp();
             }
          }]
        });
      alert.present();
     }
  });
}

我收到警告信息

  

Native:deviceready在2000ms内没有激活。这可能发生在   插件处于不一致状态。尝试从中删除插件   插件/并重新安装它们。

我怎么能解决这个问题呢?

3 个答案:

答案 0 :(得分:12)

在平台下添加此功能。一旦您的应用程序启动并运行,请尝试断开连接并从\重新连接到Internet。您应该在控制台上收到消息。

let disconnectSub = Network.onDisconnect().subscribe(() => {
  console.log('you are offline');
});

let connectSub = Network.onConnect().subscribe(()=> {
  console.log('you are online');
});

答案 1 :(得分:1)

我利用网络导入和离子事件来管理网络断开连接和连接

 checkDisconnection() {
     const disconnectSubscription = this.network.onDisconnect().subscribe(() => {
     this.checkConnection();
     disconnectSubscription.unsubscribe();
     this.nav.push('ErrorsPage');
   });
 }
 checkConnection() {
  const connectSubscription = this.network.onConnect().subscribe(() => {
  this.checkDisconnection();
  connectSubscription.unsubscribe();
  this.nav.pop();
  });
 }

完美无缺。您需要的更多信息请在评论中提及

答案 2 :(得分:0)

当应用程序在浏览器上而不是设备或手机时,Navigator.Online仅返回布尔值