tl;dr Как да разберете от сървър дали устройството с Android е онлайн или не в даден момент?
Имам приложение, което се нуждае от интернет връзка по всяко време, за да прави резервации. Потребителят може също да направи резервации самостоятелно, от уебсайт.
Въпреки това, ако интернет връзката на устройство с Android изчезне (ръбов случай) - все пак бих искал това устройство да продължи да работи офлайн (и да прави резервации локално, офлайн), докато уебсайтът ще спре да приема резервации - защото устройството с Android вече не е свързано с интернет и може да възникнат всякакви грешки при синхронизирането.
С други думи, офлайн резервациите на Android устройство имат предимство пред резервациите на уебсайтове.
Така че след като интернет връзката бъде възстановена на устройство, уебсайтът ще продължи да работи правилно.
Предложено решение
Мислех за някакво решение, което може да включва изпращане на натискане от сървър към устройство и изчакване на отговор (HTTP повикване до някаква крайна точка) в някакъв разумен период от време. Ако отговорът не се върне - устройството е офлайн, в противен случай е онлайн. Някакви други, по-стабилни предложения?
T
, тогава очаквате целият свят да спре, за да сте сигурни, че устройството ще остане онлайн (и уеб браузърът няма да има проблеми) до времеT+X
, когато цялата работа е завършена. Това е просто нереалистично. Ако това означава, че е необходима промяна на вашите изисквания, така да бъде. - person CommonsWare   schedule 21.09.2013