Zdravím.
Možná jsem jen slepý, ale nemůžu přijít na to, jak pomocí JSR-82 API zjišťovat zda určité zařízení přestalo být dostupné.
Scénář: Na jednom mobilním zařízení běží aplikace prohledávající okolí. Jakmile nalezne konkrétní zařízení, začne ověřovat, zda je toto zařízení stále v dosahu. Na druhém zařízení žádná aplikace neběží, pouze je viditelné.
Aktuální řešení:
Nalezení zařízení je jasné. Zavolám DiscoveryAgent.startInquiry(). Každé nalezené zařízení přidám do seznamu. Po dokončení hledání smažu seznam a zavolám DiscoveryAgent.startInquiry() znovu a takhle prohledávám stále dokola. Nedostupnost konkrétního zařízení zjistím jednoduše tím, že po dokončení hledání není zařízení v seznamu.
Trochu jsem to zjednodušil, ale snad je z toho poznat, že o tom, že není určité zařízení dostupné se dovím až po dokončení aktuálního běhu prohledávání okolí. Chtěl bych to zrychlit. Představoval bych si to tak, že jakmile naleznu konkrétní zařízení, tak přeruším prohledávání okolí a budu opakovaně zjišťovat dostupnost tohoto zařízení. "Něco jako ping."
Napadá vás jak to řešit? Připomínám, že na druhém zařízení žádná aplikace nepoběží. A dokud zařízení poprvé nenaleznu, tak mě nezajímá. Zajímá mě až okamžik, kdy přestane být dostupné a ten bych chtěl zjistit co nejdříve od té doby, co se tak stane.
Díky.