Приложение может снова запускаться в фоновом режиме в случае, если оно было зарегистрировано для значительного изменения местоположения при запуске в последний раз. Если Google latitude запустит приложение обратно, то они используют этот поток:
- Запуск приложения
- Проверьте, может ли устройство предоставить уведомление о значительном изменении местоположения (устройства с сотовыми данными могут обрабатывать такого рода уведомления):
significantLocationChangeMonitoringAvailable
- Зарегистрируйтесь для получения уведомления:
startMonitoringSignificantLocationChanges
- Выйдите из приложения, и как только ваше устройство выйдет из одной вышки сотовой связи в другую, система отправит уведомление, и ваше приложение будет активировано.
Существует проблема, нет нормального способа отменить регистрацию в этом уведомлении. Я думаю, только предоставляя пользователю возможность прекратить мониторинг. Я заметил это стрелкой в правом верхнем углу строки состояния, что означает, что кто-то использует службу определения местоположения.