2016-03-09 1 views
0

В приложении, которое я разрабатываю, мы пытаемся выяснить, умирает ли интернет-соединение и отображается экран с ошибкой. Мы попытались использовать параметр 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 могут сообщить нам, будет ли проблема разрешена?

+0

Я также заинтересован в этом. Дайте мне знать, если вы найдете что-то. Нынешнее решение для этого модуля: https://github.com/benbahrenburg/Pinger Но это похоже на то, что вы описали =/ –

+1

Я думаю, что не пинговать его немного сложно сказать, есть ли у вас интернет, потому что вы подключены к сети (wifi), поэтому у вас есть IP-адрес и вы находитесь в сети в локальной сети. Это становится еще более сложным, если у вас есть WIFI с невольным порталом, потому что он будет возвращать HTTP-запросы (но с другой страницей, а не с вашим API). networkTypeName и networkType могли бы помочь, поэтому вы можете хотя бы сказать, находитесь ли вы на мобильном устройстве, но если его WIFI у вас такой же, как раньше – miga

ответ

0

Согласен, что имя свойства может ввести в заблуждение. Это должно быть connected, так как это все, что мы можем сказать.

Я не думаю, что есть хороший способ определить, действительно ли вы «онлайн». Вы можете сделать HTTP-запрос на сайт, который, вероятно, будет вверх, но это взломать.

+0

Вы можете сделать запрос функции, чтобы переименовать свойство. Проверьте, была ли она уже запрошена в [Аппликатор JIRA] (https://jira.appcelerator.org/). Если это не так, создайте билет, ссылку на этот вопрос, но также укажите полное описание в билете. Не забудьте оставить ссылку на билет здесь, чтобы другие могли наблюдать за ней. –