Android 14 startForeground при BOOT_COMPLETED SecurityExceptionJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Android 14 startForeground при BOOT_COMPLETED SecurityException

Сообщение Anonymous »


Я пытаюсь перейти на Android 14, и в моем приложении есть функция, которая будет продолжать работать в качестве службы переднего плана, даже если вы перезагрузите устройство (это инструмент, поэтому эта функция необходима), приложение отображает уведомление пользователю (с помощью кнопки «Стоп»). Чтобы запустить службу, пользователю необходимо нажать кнопку в приложении, но теперь, после того как я изменил compileSdk на 34 с 33, я получаю сообщение об ошибке при попытке вызвать startForeground(1, Notification, FOREGROUND_SERVICE_TYPE_LOCATION) в службе onCreate на BOOT_COMPLETED BroadcastReceiver:

Невозможно создать службу MainService: java.lang.SecurityException: запуск FGS с типом location callerApp=ProcessRecord{ef58f87 3065:com.xxx/u0a196} targetSDK=34 требует разрешений: все разрешения allOf=true [ android.permission.FOREGROUND_SERVICE_LOCATION] любое из разрешений allOf=false [android.permission.ACCESS_COARSE_LOCATION, android.permission.ACCESS_FINE_LOCATION], и приложение должно находиться в подходящем состоянии/исключениях для доступа к разрешению только на переднем плане Я добавил все необходимое в файл манифеста, включая разрешение android.permission.FOREGROUND_SERVICE_LOCATION и объявление android:foregroundServiceType="location" для службы.
>
Кто-нибудь знает, чего мне не хватает? Нужно ли мне запрашивать разрешение FOREGROUND_SERVICE_LOCATION во время выполнения? Я уже запрашиваю разрешение ACCESS_FINE_LOCATION во время выполнения.

Спасибо!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»