Может ли система геозон Android (Google Play Services) вызывать события, когда телефон спит

Я пытаюсь выяснить, можно ли практически использовать систему геозон и сервисов определения местоположения в Google Play для фонового мониторинга местоположения.

Примером сценария является то, что у меня есть телефон в кармане, и я вхожу в геозону - сработает ли обработчик событий в моем приложении, чтобы я мог соответствующим образом обработать событие, или система предназначена только для использования в то время, когда телефон не спит и приложение на переднем плане?

Я трахался с примером кода и до сих пор не смог заставить его работать таким образом - или не нашел документов, полностью решающих эту проблему - он кажется слишком новым для людей, чтобы использовать его много.

Очевидно, что телефон не использует GPS постоянно во время сна, или батарея быстро разряжается, но мне интересно, отслеживается ли местоположение в широкой сети и используется ли для этой цели (или чтобы определить, находится ли устройство на небольшом расстоянии от геозону, чтобы знать, что стоит периодически опрашивать GPS, чтобы определить, прошел ли он.)

2 ответа

Решение

Этот ответ (от Commonsware) на другой вопрос, по-видимому, отвечает общей направленности вопроса, хотя требуется дополнительное тестирование, чтобы ответить на некоторые более подробные аспекты, касающиеся доступности фонового местоположения, точности и надежности геозоны.

CommonsWare

При правильной реализации Geofence будет работать, даже если ваше приложение работает в фоновом режиме, и его можно обрабатывать с помощью ReceiveTransitionsIntentService. В Сервисе вы можете создавать уведомления и предупреждать пользователей о необходимости возврата в ваше приложение.

Но согласно Документации, если Службы определения местоположения отключены пользователем на устройстве, ваши зарегистрированные геозоны будут удалены, и вам придется повторно добавить все геозоны. (НЕ УВЕРЕН, КАК МЫ МОЖЕМ ДОБАВИТЬ ВЕРНУТЬСЯ ГЕОФЕНЦЫ В ФОНЕ, НЕ ПОЛУЧИЛИ РЕШЕНИЯ ЭТОГО)

Также в других случаях, например, когда устройство выключено / батарея разряжена / перезапущена. Скорее всего, геозоны удалены, и мы должны сбросить геозоны обратно (однако я не могу подтвердить это, так как не нашел этого нигде в документации, но во время тестирования у меня есть разобрался с этим вопросом)

Другие вопросы по тегам