Android Intent: определить, когда подключается устройство Bluetooth A2DP (не активна ли маршрутизация a2dp)

Как узнать, когда устройство Bluetooth подключается к телефону, является ли оно A2DP или нет?

Это руководство дает очень простое руководство по прослушиванию Bluetooth-соединений.

Я хочу использовать это, чтобы определить, является ли какое-либо подключенное устройство Bluetooth типом A2DP.

AudioManager есть метод isBluetoothA2dpOn() но я не думаю, что это вернет истину сразу (или даже наверняка), так как только из-за того, что подключено устройство A2DP, это не значит, что через него маршрутизируется звук?

Я бы подумал, что информация о типе подключенного устройства будет доступна в полученном намерении (см. Учебник выше), но я не могу найти документацию по этому вопросу?

Я могу получить BluetoothClass с этим кодом:

BluetoothClass btClass = intent.getParcelableExtra(BluetoothDevice.EXTRA_CLASS);

но это не помогает мне определить, является ли это A2DP профиль, так как BluetoothClass Документация гласит:

BluetoothClass полезен в качестве подсказки для приблизительного описания устройства (например, для отображения значка в пользовательском интерфейсе), но не надежно описывает, какие профили или службы Bluetooth фактически поддерживаются устройством. Точное обнаружение службы выполняется с помощью запросов SDP, которые автоматически выполняются при создании сокета RFCOMM с createRfcommSocketToServiceRecord(UUID) и listenUsingRfcommWithServiceRecord (String, UUID)

... что довольно бессмысленно для меня.

0 ответов

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