Слушайте изменения в сети - Ionic 2 - PullRequest
0 голосов
/ 30 апреля 2018

Мне нужно отслеживать изменения сети и выполнять действия в моем приложении 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. Это реально? Как следить за изменением сети, если не так. Спасибо.

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Возможно, вам нужно снова удалить и добавить платформу. Иногда Ionic находится в несовместимом состоянии с настройкой / установкой плагина, и это обычно разрешает его.

ionic cordova platform rm <platform>

ionic cordova platform add <platform>

0 голосов
/ 01 мая 2018

Добавить код на платформу готов. Как только ваше приложение запустится

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

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

Теперь отключите и подключите свою сеть, проверьте вашу консоль, если у вас есть сетевой плагин, но он не установлен. затем с помощью плагина ionic cordova выполните команду rm cordova-plugin-network-information, если эта команда не работает, то вы можете вручную удалить сетевой плагин, просто удалите файл cordova netowrk из config.xml и package.json, а затем удалите сетевую папку cordova из папки плагина. установить с помощью плагина ionic cordova add cordova-plugin-network-information

...