Клавиша кнопки мультимедиа [dispatchMediaKeyEvent] иногда не работает
У меня есть пульт дистанционного управления с поддержкой BLE. Я хочу воспроизвести / приостановить / следующую / предыдущую песню после получения уведомления GATT о нажатии клавиши с устройства. Иногда музыкальные приложения, установленные на моем телефоне, не воспроизводят треки. Но я заметил, что если я запускаю приложение вручную, все работает нормально
Я использую ключевое событие кнопки мультимедиа для обработки воспроизведения / паузы ... и т. Д. Следующие
val downEvent = KeyEvent(
eventTime,
eventTime,
KeyEvent.ACTION_DOWN,
KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE,
0
)
audioManager.dispatchMediaKeyEvent(downEvent)
val upEvent = KeyEvent(
eventTime,
eventTime,
KeyEvent.ACTION_UP,
KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE,
0
)
audioManager.dispatchMediaKeyEvent(upEvent)
Я предполагаю, что проблема связана с сеансом мультимедиа (https://developer.android.com/guide/topics/media-apps/mediabuttons)
Есть ли обходной путь для этого