Поддержка 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-звонки будут обрабатываться как сотовые.