Как запустить сервис после перезагрузки устройства на Android 11?

#android #android-studio #broadcastreceiver #android-service #android-broadcast

Вопрос:

Я хочу запустить службу после перезагрузки или включения устройства. На данный момент все отлично работает на моем устройстве Android 8.1. Но устройство Android 11 не запускает мой сервис, я не получаю никаких ошибок. Вот мой код:

Файл манифеста:

 lt;uses-permission android:name="android.permission.FOREGROUND_SERVICE" /gt; lt;uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /gt;  lt;service  android:name=".service.ServiceManager"  android:exported="false" /gt;  lt;receiver  android:name=".receiver.AutoRebootReceiver"  android:enabled="true"  android:exported="true"  android:permission="android.permission.RECEIVE_BOOT_COMPLETED"gt;  lt;intent-filter android:priority="99999"gt;  lt;action android:name="android.intent.action.BOOT_COMPLETED" /gt;  lt;action android:name="android.intent.action.SCREEN_ON" /gt;  lt;action android:name="android.net.wifi.WIFI_STATE_CHANGED" /gt;  lt;/intent-filtergt;  lt;/receivergt;  

Комментарии:

1. FWIW, вы не можете запускать фоновые службы из фона в более новых версиях Android.

2. Есть ли какой-либо обходной путь, чтобы заставить функциональность моего приложения работать после перезагрузки устройства?

3. Я не знаю, что такое «функциональность [вашего] приложения». Что делает служба, является ли она службой переднего плана и почему вы пытаетесь запустить ее при загрузке устройства?

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

5. «Эта служба отслеживает установку и удаление других приложений» — я не знаю, зачем вам для этого нужна служба, не говоря уже о той, которая запускается во время загрузки. Вы больше не можете узнать об установке/удалении по трансляциям. Для опроса вы можете использовать WorkManager , который может постоянно повторять работу при перезагрузках.