Я использую Network Service Discover (NSD) на Android для рекламы сервера REST на устройстве. Мой сервер REST завернут в экземпляр android.app.Service.
В onCreate
я успешно запускаю сервер REST и регистрирую службу NSD. Я вижу имя службы NSD на других устройствах в моей сети (например, Моя служба).
В моем onDestroy
я останавливаю сервер REST и отменяю регистрацию службы NSD.
Однако, кажется, что при разработке, когда я нажимаю новый экземпляр моего приложения (через Eclipse), нет гарантии, что будет вызвана служба onDestroy
. Это означает, что Моя служба все еще рекламируется, и при следующем запуске службы я получаю My Service (1), My Service (2) и т.д.
Я понимаю, что NSD изменит имя службы, чтобы создать уникальный экземпляр. Мои вопросы:
- Какой ожидаемый тайм-аут для рекламируемых сервисов будет удален, если они больше не существуют?
- Есть ли способ, чтобы мой
onDestroy
вызывался при нажатии нового экземпляра моего приложения? Может ли это обстоятельство быть похоже на то, что может возникнуть у пользователя, если они установят обновление моего приложения? то естьonDestroy
гарантируется, что вызывается, когда запущенное приложение отключается, поэтому можно установить новую версию этого приложения? - Есть ли способ в моем приложении обнаружить старые регистрации и удалить их?