Расположение монитора приложения в фоновом режиме - PullRequest
0 голосов
/ 24 ноября 2018

Я хотел бы сделать приложение, которое всегда работает в фоновом режиме (при загрузке), которое отправляет GPS-координаты на сервер.Это приложение должно всегда быть активным и никогда не должно закрываться.Должен ли я пользоваться услугами?Я хотел бы использовать UDP-сокеты для отправки координат, но я принимаю альтернативы.Я также хотел бы избежать использования API Google.

Большое спасибо:)

1 Ответ

0 голосов
/ 24 ноября 2018

Если ваше приложение должно работать в фоновом режиме, вам нужна служба и вам нужно сделать ее приоритетной службой, что означает, что вы должны показывать уведомление пользователю, пока ваше приложение работает.

Открытие приложения при загрузке устройства с Android O не разрешено.Вы получите IllegalStateException.Основная причина этого заключается в том, чтобы предотвратить именно то, чего вы пытаетесь достичь.

Не рекомендуется постоянно запускать приложение в фоновом режиме, а особенно плохо - отслеживать GPS-координаты пользователей и отправлять их на сервер.Потому что это очень быстро разряжает батарею.

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

Пожалуйста, обратитесь к https://developer.android.com/about/versions/oreo/background#services

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

Что касается сокетов UDP, то это зависит от вашего бэкэнда.

...