Если ваше приложение должно работать в фоновом режиме, вам нужна служба и вам нужно сделать ее приоритетной службой, что означает, что вы должны показывать уведомление пользователю, пока ваше приложение работает.
Открытие приложения при загрузке устройства с Android O не разрешено.Вы получите IllegalStateException.Основная причина этого заключается в том, чтобы предотвратить именно то, чего вы пытаетесь достичь.
Не рекомендуется постоянно запускать приложение в фоновом режиме, а особенно плохо - отслеживать GPS-координаты пользователей и отправлять их на сервер.Потому что это очень быстро разряжает батарею.
Однако возможно сохранить работающую службу переднего плана, которая может принимать координаты GPS и отправлять ее на сервер.Но для этого пользователь должен сначала открыть ваше приложение.
Пожалуйста, обратитесь к https://developer.android.com/about/versions/oreo/background#services
Другой альтернативой является использование JobIntentService, который будет грамотно планировать ваши задачи, чтобы избежать разряда батареи и данных пользователя..
Что касается сокетов UDP, то это зависит от вашего бэкэнда.