У меня есть сценарий, в котором мне нужно уведомлять сервер при каждом изменении языка устройства.Мне нужно вызвать API (даже если приложение не запущено) и обновить текущий язык на сервере.Я реализовал это с помощью BroadCastReceiver
для
<action android:name="android.intent.action.LOCALE_CHANGED" />
. Как только трансляция сработала, я запускаю службу и вызываю API.Но, поскольку Android Oreo и выше имеет ограничения фонового выполнения, я должен запустить ForegroundService
.
Здесь, во время фонового вызова API, уведомление отображается на панели уведомлений.Таким образом, пользователь все равно может перейти в настройки приложения и принудительно остановить приложение, после чего вызов API будет прерван.Но мне нужно гарантированное выполнение этого API.Есть ли способ выполнить его в фоновом режиме, кроме службы переднего плана?Это можно сделать с помощью WorkManager или Job Scheduler?Каков наилучший способ справиться с этим вариантом использования?Надеюсь, мой вопрос понятен.Заранее спасибо!