По Bluetooth устройства могут передавать данные, которые можно использовать для интерактивных сервисов, таких как аудио, обмен сообщениями и телефония. Профили Bluetooth, используемые для разных сервисов, можно найти в разделе include/hardware/bluetooth.h.
Аудио
Подключение по Bluetooth позволяет пользователям передавать аудио на устройства с поддержкой Bluetooth. В большинстве случаев устройство Android является источником звука, а устройство воспроизведения, например колонка или наушники, – приемником.
Абсолютное управление громкостью
В Android 6.0 и более поздних версий стек Bluetooth Android позволяет источнику задавать абсолютную громкость, благодаря чему пользователи могут точно регулировать уровень звука. Исходное устройство отправляет на приемник аудио без ослабления и информацию о громкости. Затем приемник усиливает звук в соответствии с информацией о громкости, чтобы пользователи слышали точную громкость воспроизведения.
Исходное устройство также может регистрировать уведомления об изменении громкости. Когда громкость меняется с помощью элементов управления на приемнике, он отправляет уведомление источнику. Это позволяет источнику точно отображать информацию об уровне громкости в пользовательском интерфейсе.
Абсолютный контроль громкости включен по умолчанию. Пользователь может отключить абсолютный уровень громкости, выбрав Настройки > Система > Для разработчиков и установив переключатель Отключить абсолютный уровень громкости в положение "включено".
Расширенные аудиокодеки
В Android 8.0 устройства, использующие профиль расширенного распространения аудио (A2DP), могут поддерживать дополнительные аудиокодеки. Стек Bluetooth поддерживает согласование аудиокодеков при подключении устройств к удаленному приемнику аудио. В результате переговоров выбирается лучший кодек, поддерживаемый отправителем и приемником, чтобы обеспечить высококачественный звук. После выбора устройство направляет весь звук через выбранный кодировщик, а затем отправляет его в приемник.
Реализация
Устройства с Android 8.0, поддерживающие A2DP, автоматически получают поддержку дополнительных кодеков. Производителям устройств может потребоваться получить отдельные лицензии и двоичные объекты для некоторых проприетарных аудиокодеков. Помимо SBC, Android 8.0 поддерживает следующие кодеки:
- [формат] AAC
- aptX
- aptX HD
- LDAC
Производители устройств могут выбирать, какие кодеки будут использоваться в первую очередь. Задайте приоритеты кодеков, изменив следующие значения в res/values/config.xml:
<!-- Configuring priorities of A2DP source codecs. Larger value means
higher priority. Value -1 means the codec is disabled.
Value 0 is reserved and should not be used here. Enabled codecs
should have priorities in the interval [1, 999999], and each
priority value should be unique. -->
<integer name="a2dp_source_codec_priority_sbc">1001</integer>
<integer name="a2dp_source_codec_priority_aac">2001</integer>
<integer name="a2dp_source_codec_priority_aptx">3001</integer>
<integer name="a2dp_source_codec_priority_aptx_hd">4001</integer>
<integer name="a2dp_source_codec_priority_ldac">5001</integer>
Сертификация LDAC
В Android Open Source Project (AOSP) входит кодировщик для кодека LDAC от Sony, поэтому для него не требуется отдельная лицензия или объект BLOB от Sony. Чтобы интегрировать кодек LDAC в устройство, зарегистрируйтесь в Sony и пройдите процесс сертификации LDAC.
На сайте сертификации LDAC есть документация по LDAC, например спецификации и руководства по эксплуатации. На сайте LDAC также можно найти информацию о проверке и тестировании на совместимость мобильных устройств и планшетов. Отправьте Sony результаты тестирования, чтобы получить сертификат LDAC.
Функции пользовательского интерфейса
В Android 8.0 добавлена поддержка дополнительных кодеков, а также настройка, позволяющая отключить аудиокодеки Bluetooth с высоким разрешением. Пользователь может отключить HD-кодеки, выбрав Настройки > Подключенные устройства > Bluetooth, нажав на значок шестеренки рядом с устройством и сняв флажок Аудио высокого качества.
Производители устройств, которые настраивают меню "Настройки", должны реализовать способ отключения кодеков HD.
Сообщения
Обмен сообщениями по Bluetooth позволяет пользователям читать, просматривать и составлять SMS-сообщения с удаленного устройства. Пользователи часто используют эту возможность при подключении телефона к информационно-развлекательной системе автомобиля.
Телефонная связь
Сервисы телефонии Bluetooth позволяют пользователям передавать звонки и синхронизировать контакты с телефона на другое устройство Bluetooth. Пользователи часто используют эти функции для звонков в режиме громкой связи во время вождения.
В Android 8.0 Bluetooth поддерживает встроенный рингтон. Когда на подключенный по Bluetooth телефон поступает входящий вызов, мелодия звонка воспроизводится на приемнике. Включите встроенный рингтон в разделе Настройки > Система > Для разработчиков, установив переключатель Включить встроенный рингтон в положение "включено".
Функции Bluetooth
Для реализации сервисов Bluetooth стек Bluetooth поддерживает различные профили и функции.
Профили Bluetooth
Для Bluetooth доступны следующие профили:
| Функция | Версию Android. | |||||
|---|---|---|---|---|---|---|
| Название | Описание | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
| SAP | Профиль доступа к SIM-карте | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
| КАРТА | Профиль доступа к сообщениям для SMS | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| OPP | Профиль отправки объектов | 1.1 | 1.1 | 1.1 | 1.1 | 1.2 |
| OBEX поверх L2CAP | OBject EXchange over Logical Link Control and Adaptation Protocol | Да | Да | Да | Да | Да |
| Аудиошлюз HFP | Профиль Hands-Free | 1.6 | 1.6 | 1.7 | 1.7 | 1.7 |
| HSP | Профиль гарнитуры | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| A2DP | Профиль расширенного распространения аудио | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| AVRCP | Профиль дистанционного управления аудио- и видеоустройствами | 1.3 | 1.3 | 1.3 | 1.3 | 1.4 |
| HID | Профиль устройства взаимодействия с пользователем | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| PBAP | Профиль доступа к телефонной книге | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | 1.2 |
| HDP | Профиль медицинского устройства | 1.0 | 1.0 | 1.1 | 1.1 | 1.1 |
| SPP | Профиль последовательного порта | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| PAN / BNEP | Профиль персональной сети / протокол инкапсуляции сети Bluetooth | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| DIP | Профиль идентификатора устройства | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
| HOGP 1.0 | HID over GATT | Да | Да | Да | Да | Да |
| HD Audio | Подробнее о расширенных аудиокодеках… Реализация зависит от возможностей устройств, как источника, так и приемника. | Нет | Нет | Нет | Нет | Да |
Функции Bluetooth с низким энергопотреблением
Для BLE доступны следующие функции:
| Функция | Версию Android. | ||||
|---|---|---|---|---|---|
| Название | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
| Защищенные подключения BR/EDR | 4.1 | 4.1 | 4.1 | 4.1 | 5,0 |
| Конфиденциальность LE | 4.2 | 4.2 | 4.2 | 4.2 | 5,0 |
| Защищенные подключения LE | 4.2 | 4.2 | 4.2 | 4.2 | 5,0 |
| Расширения пакетов данных | 4.2 | 4.2 | 4.2 | 4.2 | 5,0 |
| 32-битные UUID | Да | Да | Да | Да | Да |
| Двойной режим LE central/peripheral | Да | Да | Да | Да | Да |
| Режим периферийного устройства LE | Да | Да | Да | Да | Да |
| Требования Google к HCI | Да | Да | Да | Да | Да |
| Каналы LE с установлением соединения | Нет | Нет | Нет | Нет | Нет |