Поддержка Bluetooth HFP для приложения Android с SIP/VoIP

Я пытаюсь добавить поддержку устройств Bluetooth, таких как гарнитуры / наушники / автомобильная стереосистема, в мое приложение для Android, которое позволяет пользователю совершать звонки SIP/VoIP. Я пытаюсь в основном удовлетворить требования ответа и завершения вызовов, используя кнопку на Bluetooth-гарнитуре, хорошо работать с другими кнопками / функциями.

После проведенного поиска и всего текста, который я прочитал, я обнаружил следующее:

  • Одним из распространенных способов, предлагаемых везде, является регистрация на ACTION_AUDIO_STATE_CHANGED, Но это не очень помогает мне. Содержимое для него отправляется каждый раз, когда нажимается кнопка на гарнитуре Bluetooth, а также когда мы запускаем мелодию звонка на гарнитуре Bluetooth.
  • Очень распространенным решением, которое я нашел, было использование класса Bluetooth Adapter. Там не так много вы могли бы сделать с этим. Так что опять не полезно.
  • Другой подход, с которым я столкнулся, - это использование специфических для Vendor событий гарнитуры. После некоторых усилий я смог заставить это работать для определенных гарнитур Plantronics Bluetooth. Поддержка Jabra очень важна.
  • Еще один подход, с которым я столкнулся, связан с IBluetoothHeadsetPhone.aidl, как это делает приложение для телефона. Я мог найти очень мало информации об этом, недостаточно, чтобы идти вперед и реализовывать что-либо.

Если кто-то делал такие вещи, я думаю, что проблема, с которой я сталкиваюсь, не редкость, я просто считаю, что она плохо документирована. Любой указатель, подход, ссылка будут оценены.

Я постараюсь добавить больше информации, когда найду любой или любой другой подход, который попробую. Пожалуйста, спросите детали, если вам нужно больше о решениях, которые я попробовал. И, пожалуйста, предложите изменения, а не просто отметьте вопрос. Спасибо в Adv.

1 ответ

Извините за поздний пост. Мне удалось найти решение этой проблемы. Это не просто исправить.

Вам необходимо использовать ConnectionService из платформы Android Telecom. Проверьте эту ссылку здесь и здесь. После этого ваши VoIP-звонки будут обрабатываться как сотовые.

Другие вопросы по тегам