Приложение работает нормально, когда оно находится в состоянии переднего плана. Это блок кода, используемый для запуска службы переднего плана. >
Код: Выделить всё
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
LogMessage.d(TAG,"#startForeground handleForegroundPermissionForIncomingCallNotification")
startForeground(
getIncomingCallNotificationId(),
getIncomingCallNotification(this, getCallType(), isFullScreenIntent, callUsers),
FOREGROUND_SERVICE_TYPE_ALLOWED_SINCE_Q
)
p>
Исключение #startForeground при попытке запустить handleForegroundPermissionForIncomingCallNotification переднего плана!!
Запуск FGS с типом camera callerApp=ProcessRecord{7e55d22
12942:com.uikit .dev/u0a190} targetSDK=34 требует
разрешения: все разрешения allOf=true
[android.permission.FOREGROUND_SERVICE_CAMERA] любые разрешения
allOf=false [android.permission.CAMERA] ,
android.permission.SYSTEM_CAMERA], и приложение должно находиться в подходящем
состоянии/исключениях для доступа к разрешению только на переднем плане
Итак, при проверке документации Android
https://developer.android.com/develop/b ... strictions
Я вижу, что
Для разрешений во время использования это вызывает потенциальную проблему. Если у вашего
приложения есть разрешение на использование, оно имеет это разрешение только тогда, когда
оно находится на переднем плане. Это означает, что если ваше приложение находится в фоновом режиме
и оно пытается создать службу переднего плана типа камеры, местоположения
или микрофона, система видит, что ваше приложение в настоящее время не имеет
необходимые разрешения, и он выдает SecurityException.
Так что я просто застрял здесь, не зная, как создать сервис в фоновом режиме, где моему приложению нужно что-то новое представлены типы служб переднего плана.
Подробнее здесь: https://stackoverflow.com/questions/779 ... ound-types