Случайный сбой: SecurityException: для проекций мультимедиа требуется служба переднего плана типа ServiceInfo.FOREGROUND ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Случайный сбой: SecurityException: для проекций мультимедиа требуется служба переднего плана типа ServiceInfo.FOREGROUND

Сообщение Anonymous »

Вероятность того, что моя программа выйдет из строя, очень и очень мала:

Код: Выделить всё

java.lang.SecurityException: Media projections require a foreground service of type ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION
И как только это произойдет, сбой будет продолжаться до тех пор, пока телефон не будет перезагружен.
Я должен отметить, что:
  • разрешения android.permission.FOREGROUND_SERVICE и

    Код: Выделить всё

    android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION
    добавлены в файл манифеста.
  • для службы объявлен тип переднего плана

    Код: Выделить всё

    android:foregroundServiceType="mediaProjection"
  • создал канал уведомлений и уведомление и вызвал startForeground() при создании службы, и есть журналы, показывающие успешный вызов.
Однако существует вероятность 0,001%, что исключение будет выдано.
И проблема в телефоне будет продолжаться, даже если программа выйдет из строя, а затем перезапустится. Причем проблема возникает на Android 10, 11, 12, на Android 13, 14, 15 пока не обнаружена.
Команда adb Shell dumpsys Activity и другие методы дампа также не удалось сбросить информацию о типе службы переднего плана. Как мне разобраться в этой странной проблеме?

Подробнее здесь: https://stackoverflow.com/questions/793 ... round-serv

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