Сохраняйте locationListener активным между действиями

1

Я запускаю действие в своем классе Locator.java, который запускает службу locacionListener. Это действие записывает позиции в базу данных. Интересно, когда я перейду к следующим экранам (мероприятиям), позиции будут продолжать писать в базу данных, или мне нужно будет вернуться к Locator.java, чтобы продолжать писать. То же самое, когда я минимизирую приложение.

У меня есть вопрос об использовании Сервиса, но я хочу быть уверенным, что он мне нужен.

Теги:
location

1 ответ

2
Лучший ответ

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

Бизнес-логика для сбора обновлений местоположения и их хранения в базе данных должна быть реализована в службе, но не в действии. (Активность может использоваться для управления состоянием службы (стоп-старт) и для отображения данных из базы данных, но основная часть вашего обновления/хранения местоположения в логике базы данных должна запускаться из службы.

Вы можете проверить запущенные службы на своем устройстве Android (Настройки - Приложения - Запуск служб). Вы должны увидеть свою услугу и количество времени, в течение которого она была запущена.

В зависимости от ваших требований простой сервис не будет его обрезать. Если вы, например, хотите захватить обновления местоположения и сохранить их в базе данных, пока устройство спит, вам нужно посмотреть WakefullintentService

  • 0
    Таким образом, когда я перехожу из приложения, запись потока в базу данных прекращает сохранять позиции. Насколько я знаю, поток заканчивается и, поскольку для этого потока требуется событие onLocationChanged, позиции не будут обновляться, пока я не вернусь к этому. Местоположение деятельности. Это правильно? Спасибо ddewaele!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню