Я использую библиотеку подключений, чтобы увидеть, что интернет (данные Wi-Fi или сети) активен, и сохранить данные в хранилище, если нет подключения (в автономном режиме), и синхронизироваться с сервером при подключении к Интернету. У меня проблемы в общественных местах, где интернет постоянно нестабилен (особенно в подвалах, офисах, магазинах, кофейнях и т. Д., Где есть интернет, входящий и выходящий). Когда я проверяю, что Связь активна, но к тому времени, когда я начал синхронизацию, Интернет отключается (что-то вроде этого). это приводит к непоследовательным / частичным обновлениям на сервере. Кроме того, в кафе и аэропортах, где подключен Wi-Fi, но есть страница «Согласиться с условиями» для подключения. Не все браузеры сразу перейдут на эту страницу после подключения к Wi-Fi. В этом случае я вижу, что Wi-Fi активен в мобильном телефоне, но на самом деле он не активирован, пока я не приму положения и условия в IE или каком-либо конкретном браузере. Кто-нибудь еще сталкивался с трудностями при решении подобных проблем в мобильном приложении?
Мое приложение - зависает на экране входа в систему, если я пытаюсь войти в систему при нестабильном / непротиворечивом подключении к Интернету. Я думаю, что Wi-Fi есть, но его нет.
Если я нахожусь на экране, где я буду отображать список, экран будет отображаться пустым в течение бесконечного времени. Добавление таймаута для запроса / ответа сервера или чего-то такого поможет.
Я знаю, что я не обрабатываю этот случай в коде, чтобы показать какое-то сообщение об ошибке, но мне нужно какое-то руководство для обнаружения этих условий, требующее использования API CN1 для обработки через мое приложение. Пожалуйста, сообщите.
Код:
public boolean isOffline() {
if (Connectivity.isConnected() && forceOffline) {
relogin();
}
return forceOffline || !Connectivity.isConnected();
}