Я работаю над VoIP-Android-приложением, и приложение должно быть в состоянии принять/отказаться от гарнитуры Bluetooth.
Но проблема в том, что после добавления подключения к SCO
audioManager.startBluetoothSco()
audioManager.isBluetoothScoOn = true
Как только я нажимаю на кнопку гарнитуры, я слышу звук, который обычно возникает, когда я принимаю вызов с использованием телефонии, поэтому я предполагаю, что некоторые компоненты системы Android поймают этот сигнал и не бросают его дальше
Я уже пробовал:
1) Слушатель государственной системы телефонии (это всегда IDLE)
val tm = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
phoneStateListener = MyPhoneStateListener()
tm.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE)
2) MediaSession + тихий шум + прослушиватель кнопки мультимедиа Не работает для первого щелчка, second+ обрабатывается клики правильно
3) Приемник MEDIA_BUTTON не работает
Я нашел аналогичный вопрос о SO, но без ответа, как заставить его работать. Принятие вызова через Bluetooth-гарнитуру
Так или иначе, как я могу перехватить нажатие кнопки Bluetooth с Bluetooth-гарнитуры?