Задать вопрос

Как получить информацию о сети в Cordova приложении?

Всем Доброго времени суток.
Есть приложение написанное на ionic. В случае если есть интернет нужно взять данные из внешнего сервера. Если нет интернета взять данные ил локальной копии.

Сами оба принципа получение тех или иных данных реализованы. Не получается определять состояние сети в момент запуска.

Принцип такой есть роуты при переходе на который в блоке resolve дергается сервис - который возвращает данные.

Так вот мне нужно где-то на моменте до того как выполнится resolve. знать состояние сети.

Но что то ни как не выходит. Кто может подсказать как это правильно реализовать?
  • Вопрос задан
  • 2264 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
bobrov1989
@bobrov1989
Front-end Dev
вам следует добавить в приложение ngCordova и заюзать плагин ngcordova.com/docs/plugins/network
и с его помошью проверять состояние сети
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ikeagold
Да тоже заинтересован увидеть best practice :D в этом плане.
А то везде есть гайды и тд, но нет ничего об этом ньюансе что инета может не быть либо может пропадать.
Не могут блин добавить реализацию в фреймворки или в темплейты код хотя бы.
Пока что нашел(код под AngularJS не проверял, если кто подтвердить что рабочий то было бы ок):
controller('HomeCtrl', function ($scope, $stateParams, $rootScope) {
    $scope.error = 'No internet connection';

    document.addEventListener('deviceready', init, false);

    function init() {
        document.addEventListener('online', toggleCon, false);
        document.addEventListener('offline', toggleCon, false);
    }

    function toggleCon(e) {
        if (e.type == 'offline') {
            //if offline
        } else {
            //if online
        }
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы