Я разрабатываю приложение для конференции, которое управляется данными и постоянно будет обновляться с веб-сервера. Я сохраняю данные в локальном хранилище для сохранения, но когда приложение установлено и запускается в первый раз, я хочу открыть сообщение «Нет подключения к Интернету» и закрыть приложение, когда они нажимают любую кнопку во всплывающем окне. но когда есть интернет-приложение, приложение. Я сделал это в своей функции app.run, но он не работает.Проверка активного подключения к сети и выхода из приложения, если он неактивен в ионном использовании ngCordova
var app = angular.module('starter', ['ionic', 'ionic-material', 'ngCordova']);
app.run(function ($ionicPlatform, $ionicPopup, $timeout) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if (window.StatusBar) {
StatusBar.styleDefault();
}
//checking for internet connection on startup
if (window.Connection) {
if (navigator.connection.type === Connection.NONE) {
document.addEventListener("offline", function() {
$ionicPopup.confirm({
title: "Internet Disconected",
content: "Sorry, No internet connection now, please try again"
}).then(function (result) {
if (!result) {
$ionicPlatform.exitApp();
}
});
}, false);
}
}
});
});
приложение выскакивает сообщение, но по нажатию на любую из кнопок (ОК и отмена), приложение просто остается на белом экране. он не выходит из приложения. Я не знаю, что делаю неправильно. пожалуйста, мне нужны советы и образцы кода, чтобы исправить мою ошибку.
спасибо Энрико, я пытаюсь проверить подключение, когда пользователь загружает приложение в первый раз. Я уже загружаю данные из локального хранилища в каждом из моих контроллеров (хотя, тем не менее, это плохая практика), но мне нужно проверить подключение к Интернету и выйти из приложения, если пользователь никогда раньше не открывал приложение с подключением к Интернету. и если он однажды загрузил интернет-соединение ... мне нужно, чтобы он обошел эту функцию и перешел к моей логике контроллеров, которая будет загружать данные из локального хранилища. u может проверить мои коды [здесь] (https://github.com/jattoabdul/hiveAfrica). –
Просто исправлена ошибка в моем фрагменте (я не отрицал ConnectivityService.isOnline, теперь это так). Вы можете сохранить переменную в localstorage при первом входе пользователя в систему и использовать это значение для обхода принудительного выхода. Я собираюсь обновить ответ. –