Ionic 2网络状态与Ionic Native 3.X无法正常工作

问题描述 投票:1回答:2

我试图在ionic2中获取网络状态,Ionic-native docs示例不起作用:我的代码是:

    import { Component } from '@angular/core';
    import { NavController } from 'ionic-angular';
    import { Network } from '@ionic-native/network';
    @Component( {
        selector: 'page-network',
        templateUrl: 'network.html'
    })
    export class NetworkPage {

         Status: any = '';
         ConnectionType:any = '';

 constructor(private network: Network) { 
    let disconnectSubscription = this.network.onDisconnect().subscribe(() => {
    this.Status = 'Disconnected';
      console.log('network was disconnected ');
    });
    disconnectSubscription.unsubscribe();
    let connectSubscription = this.network.onConnect().subscribe(() => {
      console.log('network connected!');
        
    this.Status = 'Connected';
      setTimeout(() => {
        if (this.network.type === 'wifi') {
          console.log('we got a wifi connection, woohoo!');
        }
      }, 3000);
    });
    connectSubscription.unsubscribe();
    }
 }

我使用了ionic2。错误没有来,但它仍然不适合我。需要检查网络状态是启用还是禁用。

networking ionic-framework ionic2
2个回答
3
投票

确保你安装了@ionic-native/core,并在app.module.ts中将Network添加到@NgModule装饰器中的提供者,最后你必须在app.component.ts的某个地方注入或调用创建的服务

更新

删除侦听器上的取消订阅方法

disconnectSubscription.unsubscribe();
connectSubscription.unsubscribe();

我发现你首先subscribe到网络事件然后unsubscribe

使其运作的步骤

  1. 创建ionic2项目
  2. 运行命令 ionic plugin add cordova-plugin-network-information npm install --save @ionic-native/network
  3. Network providersapp.module.ts阵列中添加enter image description here服务
  4. app.component.ts中使用此代码。 enter image description here
  5. 添加所需的平台让我们选择Android ionic platform add android
  6. 然后运行代码 ionic run android
  7. 最后尝试启用/禁用wifi并观看控制台

0
投票

我遇到了同样的问题,这就是我如何解决它。确保你的

"@ionic-native/core": "~4.18.0",

"@ionic-native/network": "^4.18.0",

通过在项目中的package.json上检查“@ ionic-native / core”版本并使用相同版本的“@ ionic-native / core”安装“@ ionic-native / network”是相同的版本,例如“@ionic” -native / core“version is”4.18.0“然后安装4.18.0版本的”@ ionic-native / network“

npm install @ionic-native/[email protected]

它应该像那样工作。

© www.soinside.com 2019 - 2024. All rights reserved.