Перед API 28 я могу просто запустить фоновую службу и постоянно прослушивать соединение сокета для любых входящих данных, однако в последних изменениях в API 28, как показано здесь https://developer.android.com/about/versions/oreo/background#services я больше не могу запускать фоновую службу в Android 9, если она не охватывает только один из следующих случаев
При определенных обстоятельствах фоновое приложение помещается во временный белый список на несколько минут. Пока приложение находится в белом списке, оно может запускать службы без ограничений, а его фоновые службы могут работать. Приложение помещается в белый список, когда оно выполняет задачу, видимую пользователю, например:
Обработка высокоприоритетных сообщений Firebase Cloud Messaging (FCM).
Получение широковещательных сообщений, например SMS/MMS. Выполнение PendingIntent из уведомления. Запуск службы VpnService до того, как приложение VPN переместится на передний план.
Единственный вариант, который я нашел, - запустить службу в качестве переднего плана. Я уже нашел какую-то альтернативу, например, использование JobScheduler или WorkManger, но я не думаю, что они смогут удовлетворить мои требования.
поэтому мой вопрос: есть ли другой способ прослушивания сокетного соединения, предназначенного для Android 9 (api 28), кроме использования службы переднего плана?