Android:Разрешения для служб переднего плана — для записи экранаAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Android:Разрешения для служб переднего плана — для записи экрана

Сообщение Гость »


Поэтому в моем приложении я разрешаю пользователю записывать свой экран, для простоты использования я использую библиотеку HBRecorder. Для Android 14+ вам необходимо объявить службы переднего плана в своем манифесте и запросить разрешения у пользователя. Я сделал это, но получаю предупреждения о политике от Google (также ниже). Что мне не хватает? как будто я удаляю какое-либо из этих разрешений, я получаю исключение безопасности на устройствах Android 14.

Видео, которое я загрузил для Google, ясно показывает, что пользователю предлагается записать экран, и в сообщении объясняется, почему, а также видно, что запись активна только во время активности.

Значит, я явно что-то упускаю, кто-нибудь уже сталкивался с этим?

//Разрешения манифеста //Функция, запрашивающая разрешение `fun requestPermissions (активность: Активность) { разрешения val = mutableListOf() Permissions.add(Manifest.permission.CAMERA) Permissions.add(Manifest.permission.READ_EXTERNAL_STORAGE) Permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE) Permissions.add(Manifest.permission.RECORD_AUDIO) Permissions.add(Manifest.permission.ACCESS_MEDIA_LOCATION) Permissions.add(Manifest.permission.CAPTURE_AUDIO_OUTPUT) если (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { Permissions.add(Manifest.permission.MANAGE_EXTERNAL_STORAGE) > } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { Permissions.add(Manifest.permission.READ_MEDIA_VIDEO) > } если (Build.VERSION.SDK_INT >= 34) { Permissions.add(Manifest.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION) Permissions.add(Manifest.permission.FOREGROUND_SERVICE) > }` //функция для начала записи ` весело startRecordingScreen() { val mediaProjectionManager = getSystemService(MEDIA_PROJECTION_SERVICE) как MediaProjectionManager val PermissionIntent = mediaProjectionManager.createScreenCaptureIntent() startActivityForResult(permissionIntent!!, SCREEN_RECORD_REQUEST_CODE) btnRecordMain.setBackgroundResource(R.drawable.btnrecordd) }` Предупреждения Предупреждение 1 Предупреждение 2

Я удалил разрешения для служб переднего плана, а затем Google удалил предупреждения политики. Проблема в устройствах Android 14. Если я удалю любое из трех разрешений, я получаю следующее исключение.

Я удалял по одному и тестировал на устройствах Android 14, и каждый раз происходил сбой.

java.lang.SecurityException: в android.os.Parcel.createExceptionOrNull (Parcel.java:3069) в android.os.Parcel.createException (Parcel.java:3053) в android.os.Parcel.readException (Parcel.java:3036) в android.os.Parcel.readException (Parcel.java:2978) в android.app.IActivityManager$Stub$Proxy.setServiceForeground (IActivityManager.java:7214) в android.app.Service.startForeground (Service.java:775) на com.hbisoft.hbrecorder.ScreenRecordService.onStartCommand (ScreenRecordService.java:234) в android.app.ActivityThread.handleServiceArgs (ActivityThread.java:5268)` `
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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