У меня есть два приложения
Клиентское приложение
а также
Серверное приложение
в андроид
Что я хочу
Чтобы проверить в моем приложении сервера, что приложение погоды клиента имеет подключение к интернету или нет.
Что я сделал
Я читал этот пост
Я использовал BroadcastReciever для прослушивания, доступен ли интернет или нет. Все хорошо. Когда подключение к интернету идет правильно, я сохраняю ценность онлайн для Firebase "true"
Но
Когда интернет-соединение отключается
я использую метод onDisconnect() Firebase, чтобы сохранить ServerValue.TIMESTAMP
Он работает где-то через две минуты, но иногда он не обновляет базу данных, и значение остается верным.
Обратите внимание, что я хочу, когда клиентское приложение подключено, в firebase оно должно сохранять значение true, а когда оно не подключено, оно должно сохранять значение false. Хотя в моем серверном приложении я получу эти значения для показа клиенту в сети или в автономном режиме
Есть ли другой метод, чтобы сделать такой сценарий в Android?
Что вы предлагаете улучшить в моем текущем сценарии. ?
Помощь будет высоко ценится.
Спасибо
оставьте это onDisconnect(), напишите API, который ничего не будет делать, но будет просто пинговать сервер через фиксированное время непрерывно, скажем, через каждые 2 секунды будет вызываться API (через службу), поэтому в случае отключения сети или сотовый телефон даже выключен, так как API не будет отвечать на сервер, здесь вы напишите код на случай, если приложение не пингует сервер через 2 секунды (или вы можете сказать через 5 секунд), ответ (онлайн-статус) должно быть FALSE автоматически!
так что в случае, если приложение снова подключено к Интернету, так как сервис работает, сервис снова обновит ваше ложное значение до ИСТИНЫ, что слишком просто!
Я думаю, что это ваша необходимая функция!