У меня есть приложение для Android, которое может работать с или без местоположения.обработка этого случая в действии проста: я устанавливаю прослушиватель местоположения и жду с диалоговым окном хода выполнения, но позволяю пользователю прервать ожидание (бывает, что если поставщик местоположения отключен, то никакой особой ошибки просто не бываетвозвращает местоположение ... приятно).
однако у меня также есть служба, которая требует местоположение.служба может быть запущена до действия, поэтому я не могу зависеть от действия, чтобы получить местоположение (или нет).
вопрос в том, как справиться с этим делом в сервисе.я могу дождаться местоположения, но поскольку я не могу рассчитывать на прерывание пользователя, как я могу узнать, когда следует прекратить ожидание, и предположить, что местоположение недоступно?кажется, я мог бы сделать что-то вроде
- службы расписаний с действием «получить местоположение», которое устанавливает прослушиватель местоположения, ожидает обновления, планирует то же обслуживание, скажем, через 3 минуты с действием «обновить»
- в сервисном действии «обновить», найдите последнее известное местоположение и будьте счастливы с этим.было либо получено, либо нет.если он нулевой, мы знаем, что у нас нет местоположения, и мы сделали все возможное.
кажется, что это будет работать, но становится все сложнее, так как я больше не могу использовать службу простого намерения(я предполагаю), потому что если служба намерений останавливает себя после onHandleIntent (), то событие, измененное на месте, не будет получено.
в любом случае, это становится довольно сложным, поэтому мне интересно, есть либолее простой способ.