В приложении, которое я разрабатываю, мы пытаемся выяснить, умирает ли интернет-соединение и отображается экран с ошибкой. Мы попытались использовать параметр Titanium.Network.online и событие изменения Titanium.Network, но в некоторых случаях это работает. Мы выяснили, что если маршрутизатор теряет связь, но телефон все еще подключен к WiFi, параметр Titanium.Network.online вернет true, а не false.Titanium.Network.online возвращает true при подключении к Wi-Fi, у которого нет подключения к Интернету.
После недолгих поисков, я даже нашел, что это ошибка в титане и есть сообщение об ошибке, что нерешенным с 2013 года: https://jira.appcelerator.org/browse/TIDOC-1151
Так что мои вопросы:
Кто-нибудь нашел обходной путь для это?
Есть ли другой способ получить событие при потере соединения? (Помимо очевидного пинга на сервере каждые 5 или 10 секунд)
Любые парни поддержки из Appcelerator могут сообщить нам, будет ли проблема разрешена?
Я также заинтересован в этом. Дайте мне знать, если вы найдете что-то. Нынешнее решение для этого модуля: https://github.com/benbahrenburg/Pinger Но это похоже на то, что вы описали =/ –
Я думаю, что не пинговать его немного сложно сказать, есть ли у вас интернет, потому что вы подключены к сети (wifi), поэтому у вас есть IP-адрес и вы находитесь в сети в локальной сети. Это становится еще более сложным, если у вас есть WIFI с невольным порталом, потому что он будет возвращать HTTP-запросы (но с другой страницей, а не с вашим API). networkTypeName и networkType могли бы помочь, поэтому вы можете хотя бы сказать, находитесь ли вы на мобильном устройстве, но если его WIFI у вас такой же, как раньше – miga