Как создать андроид бесконечный фоновый сервис GPS-слушателя? - PullRequest
0 голосов
/ 17 февраля 2019

Я заинтересован в создании приложения для Android, которое:

  • не имеет пользовательского интерфейса (нет видимой активности).
  • Полагаю, это будет сервис Android, если нет лучшей альтернативы.
  • Служба должна работать бесконечно, чтобы запустить прослушиватель местоположения GPS для обновления местоположения.
  • Приложение не должно появляться, когда пользователь открывает все приложения на устройстве.
  • Приложение / служба должны иметь возможность работать, когда телефон включен, но дисплей выключен.

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

1 Ответ

0 голосов
/ 17 февраля 2019

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

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

Главное для вас - быть на переднем плане,Таким образом, это излечит ограничения фонового местоположения и не будет кандидатом на убийство.


Я только что дал примеры обслуживания на переднем плане и примеры активности для того, чтобы быть живым.Таким образом, минимальная невидимость для вас - наличие службы переднего плана с уведомлением.

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

Но это короткое время может быть выигранонедостаточно сделать запрос и получить места.Приложение должно мешать устройству спать

https://developer.android.com/training/scheduling/wakelock#cpu

Android - периодически выходить из режима ожидания?

https://developer.android.com/training/scheduling/alarms

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

...