Ошибка сокета при изменении сети

226
02 марта 2017, 23:11

После переключения сети (например, с Wifi на мобильную сеть), сокет выдает ошибку

class java.net.SocketException
                   recvfrom failed: ETIMEDOUT (Connection timed out)

Может есть какой-то способ отследить изменения сети? И можно ли как-то однозначно определить, где изменения в сети, а где обычная ошибка сокета по таймауту?

Answer 1

Может есть какой-то способ отследить изменения сети?

Да, способ есть.

При изменении состояния подключения ConnectivityManager посылает соответствующее broadcast message, которое можно отловить и обработать данную ситуацию.

READ ALSO
При запросе данные не извлекаются

При запросе данные не извлекаются

При запросе данные не извлекаютсяЕсли условие не срабатывает-все работает и извлекаются все записи с помощью только даты

206
org.json.JSONException: JSONObject[“first_name”] not found

org.json.JSONException: JSONObject[“first_name”] not found

Нужно получить следующие данные и сохранить их в массивах строк/цифр (не просто вывод в консоль):

396
Сохранение настроек приложения

Сохранение настроек приложения

Подскажите пожалуйста, с помощью каких инструментов можно реализовать сохранение настроек приложения в самом файле приложения? Например...

202
Почему не идёт запись в файл?

Почему не идёт запись в файл?

Почему не заполняется файл, и что значат строки writerwrite('\r'); и writer

219