Нет аудио фокусировки на переднем плане в Android 15Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Нет аудио фокусировки на переднем плане в Android 15

Сообщение Anonymous »

Я строю приложение для сигнализации. На Android 15 я не могу сделать свое приложение для аккуратного фокусировки, когда выходит тревога: < /p>

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

2025-08-14 08:36:27.935   601-1038  AS.HardeningEnforcer    system_server                        I  Focus request DENIED for uid:10216 clientId:android.media.AudioManager@83ae10bigalex321.audiofocustest.AlarmService$$ExternalSyntheticLambda0@77a2d09 req:2 procState:4
2025-08-14 08:36:27.935   601-1038  AS.AudioService         system_server                        W  Audio focus request blocked by hardening
< /code>
Как я понимаю, ОС не распознает мой сервис как передний план. Я прочитал документы: 
https://developer.android.com/about/versions/15/behavior-changes-15br />https://developer.android.com/media/optimize/audio-focus>  Но не понимаю, что я не знаю/pmoptimize/audio-focus>  но не понимаю. />  Полный пример код здесь: 
https://github.com/aikrikunov95/audiofocustest/tree/mainобразно

...
android:foregroundServiceType="mediaPlayback|systemExempted"
< /code>
Я запускаю службу из пользовательского интерфейса с этими методами: < /p>
val intent = Intent(context, AlarmService::class.java)
val pendingIntent = PendingIntent.getForegroundService(...
systemAlarmManager.setAlarmClock(...
Затем в службе onstartcommand Я сразу же делаю его на переднем плане, не забудьте тип службы:
ServiceCompat.startForeground(
...
ServiceInfo.FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED or
ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK
< /code>
и попытаться получить фокус: < /p>
audioManager.requestAudioFocus(audioFocusRequest!!)
< /code>
Запрос такой: < /p>
private val audioFocusRequest: AudioFocusRequest? by lazy {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN_TRANSIENT)
.setAudioAttributes(
AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_ALARM)
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
.build()
)
.setOnAudioFocusChangeListener { /* optional logging */ }
.build()
} else null
}
< /code>
После того, как фокусируется, я использую экземпляр Audiomanager и Vibrator, чтобы фактически воспроизводить музыку. Опять же, полный пример кода связан выше.

Подробнее здесь: https://stackoverflow.com/questions/797 ... android-15
Ответить

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

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

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

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

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