2017-02-07 1 views
0

Привет, у меня было много раундов тестирования по этому вопросу, но я не смог получить точное решение, поэтому отправляю на помощь.Поздняя трансляция из сетевого информационного плагина Cordova/Ionic

Я имею мое приложение в ионическом не Ionic2

Использование плагина для сети "Network Information" Cordova-плагин-сети информации 1.3.0 "Network Information" Link

Сценарий:

Когда пользователь сводит к минимуму приложение и переходит в фоновый режим и отключает сетевой источник, например Wi-Fi, Mobile Data, и возвращается к домашней странице приложения на плагине. Методы возвращает верно для сети в первую очередь, и через некоторое время получать Broadcast говорю сейчас сеть вне форума

Ожидаемое поведение:

Заслуживает Вещание поворота источника сети, как Wi-Fi, Mobile Data On или Off, поэтому я могу справиться в приложении.

Мой исходный код для вещания, который ответил на сетевые события в $ ionicPlatform.ready в app.js упоминается ниже:

//listen for Online event 
     $rootScope.$on('$cordovaNetwork:online', function (event, networkState) 
     { 
      console.log("BR got inside online -- App " + networkState); 
      $rootScope.isonlineState = true; 
      console.log("BR got inside online getNetwork-- App " + $cordovaNetwork.getNetwork()); 
      console.log("BR got inside online isOnline-- App " + $cordovaNetwork.isOnline()); 
     }) 

    // listen for Offline event 
    $rootScope.$on('$cordovaNetwork:offline', function (event, networkState) 
    { 
     console.log("BR got inside offline -- App " + networkState); 
      $rootScope.isonlineState = false; 
     console.log("BR got inside offline getNetwork-- App " + $cordovaNetwork.getNetwork()); 
     console.log("BR got inside offline isOnline-- App " + $cordovaNetwork.isOnline()); 
     }) 

Я отлаженной этот сценарий так много раз, но все еще не в состоянии получить право поведение только на iPhone.

Пожалуйста, поделитесь своими впечатлениями об этом, чтобы помочь мне решить проблему. Спасибо заранее.

ответ

0

Наконец, после нескольких дней борьбы, я понял, что нет никакого способа, в этом плагине, чтобы уведомить вас, кроме этого BrodcastReceivers, то отлично, но когда в выключенной сети приложение поставляется от фона до переднего плана и вы звоните API, то вы видите, что ваша страница приложения пытается вызвать API (потому что методы плагина возвращаются isOnline в true), но они не должны, поскольку нет сети, и через несколько секунд вы получаете широковещательную рассылку: Вы сейчас в сети.

Решение

Так что лучший способ вызвать обновление ваших страниц от фона до переднего плана от BroadcastReceiver .. вызвать другой свой локальный BrodacstReceiver обновить страницу, основанную на событиях в сети.

Я поставил вопрос на Ионном форуме, но я не получил ничего конструктивного.

Надеюсь, что это поможет другим лицам, сталкивающимся с тем же вопросом, и нуждается в решениях на этом ... :)

Смежные вопросы