Via Bluetooth, les appareils peuvent transmettre des données pouvant être utilisées pour des services interactifs tels que l'audio, la messagerie et la téléphonie. Vous trouverez les profils Bluetooth utilisés pour différents services dans
include/hardware/bluetooth.h
.
Audio
Une connexion Bluetooth permet aux utilisateurs de diffuser du contenu audio sur des appareils compatibles Bluetooth. Dans la plupart des cas d'utilisation audio, l'appareil Android est la source et l'appareil de rendu, tel qu'une enceinte ou un casque, est le récepteur.
Contrôle absolu du volume
Dans Android 6.0 et versions ultérieures, la pile Bluetooth Android permet à une source de définir un volume absolu, ce qui permet aux utilisateurs de contrôler précisément le volume audio. L'appareil source envoie des informations audio et de volume non atténuées au récepteur. Le récepteur amplifie ensuite l'audio en fonction des informations sur le volume, afin que les utilisateurs entendent un volume de lecture précis.
L'appareil source peut également enregistrer les notifications de volume. Lorsque le volume est modifié à l'aide des commandes du récepteur, celui-ci envoie une notification à la source. Cela permet à la source d'afficher précisément les informations sur le volume dans une interface utilisateur.
Le contrôle absolu du volume est activé par défaut. Un utilisateur peut désactiver le contrôle du volume absolu dans Paramètres > Système > Options pour les développeurs en activant l'option Désactiver le volume absolu.
Codecs audio avancés
Dans Android 8.0, les appareils qui utilisent le profil de distribution audio avancée (A2DP) peuvent prendre en charge des codecs audio supplémentaires. La pile Bluetooth prend en charge la négociation du codec audio lorsque des appareils se connectent à un récepteur audio distant. Cette négociation sélectionne le meilleur codec compatible avec l'expéditeur et le récepteur pour fournir un son de haute qualité. Une fois la sélection effectuée, l'appareil achemine tout l'audio via l'encodeur sélectionné, puis l'envoie au récepteur.
Implémentation
Les appareils équipés d'Android 8.0 et compatibles avec A2DP bénéficient automatiquement de la prise en charge de codecs supplémentaires. Les fabricants d'appareils peuvent avoir besoin d'obtenir des licences et des blobs binaires distincts pour certains codecs audio propriétaires. En plus du codec SBC, Android 8.0 est compatible avec les codecs suivants :
- AAC
- aptX
- aptX HD
- LDAC
Les fabricants d'appareils peuvent choisir les codecs que leurs appareils tentent d'utiliser en premier. Définissez les priorités des codecs en modifiant les valeurs suivantes dans
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>
Certification LDAC
L'Android Open Source Project (AOSP) inclut un encodeur pour le codec LDAC de Sony. Il n'est donc pas nécessaire d'obtenir une licence ou un blob distincts auprès de Sony. Pour intégrer le codec LDAC à votre appareil, inscrivez-vous auprès de Sony et suivez la procédure de certification LDAC.
Le site Web de certification LDAC contient de la documentation sur LDAC, comme des manuels de spécification et d'utilisation. Le site LDAC propose également des tests de validation et d'interopérabilité pour les appareils mobiles et les tablettes. Envoyez les résultats des tests réussis à Sony pour obtenir la certification LDAC.
Fonctionnalités de l'UI
En plus de la prise en charge de codecs supplémentaires, Android 8.0 fournit un paramètre visible par l'utilisateur permettant de désactiver les codecs audio Bluetooth haute définition (HD). Un utilisateur peut désactiver les codecs HD en accédant à Paramètres > Appareils connectés > Bluetooth, en appuyant sur l'icône en forme de roue dentée à côté du récepteur et en décochant la case Audio HD.
Les fabricants d'appareils qui personnalisent les paramètres doivent permettre aux utilisateurs de désactiver les codecs HD.
Messages
La messagerie via Bluetooth permet aux utilisateurs de lire, de parcourir et de rédiger des messages SMS depuis un appareil distant. Les utilisateurs utilisent souvent cette fonctionnalité lorsqu'ils connectent un téléphone à un système d'info-divertissement embarqué.
Téléphonie
Les services de téléphonie Bluetooth permettent aux utilisateurs de diffuser des appels et de synchroniser des contacts d'un téléphone vers un autre appareil Bluetooth. Les utilisateurs utilisent souvent ces fonctionnalités pour passer des appels en mode mains libres lorsqu'ils conduisent.
Dans Android 8.0, le Bluetooth prend en charge la sonnerie intégrée. Lorsqu'un téléphone connecté en Bluetooth reçoit un appel entrant, la sonnerie retentit sur l'évier. Activez la sonnerie intégrée dans Paramètres > Système > Options pour les développeurs en cliquant sur le bouton Activer la sonnerie intégrée pour le mettre sur la position "Activé".
Fonctionnalités Bluetooth
Pour implémenter les services Bluetooth, la pile Bluetooth est compatible avec différents profils et fonctionnalités.
Profils Bluetooth
Les profils suivants sont disponibles pour le Bluetooth :
Fonctionnalité | Version d'Android | |||||
---|---|---|---|---|---|---|
Nom | Description | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
SAP | Profil d'accès à la carte SIM | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
PLAN | Profil d'accès aux messages pour les SMS | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
OPP | Profil Object Push | 1.1 | 1.1 | 1.1 | 1.1 | 1.2 |
OBEX sur L2CAP | OBject EXchange over Logical Link Control and Adaptation Protocol | Oui | Oui | Oui | Oui | Oui |
Passerelle audio HFP | Profil mains libres | 1,6 | 1,6 | 1.7 | 1.7 | 1.7 |
HSP | Profil du casque | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
A2DP | Advanced Audio Distribution Profile | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
AVRCP | Audio/video Remote Control Profile | 1.3 | 1.3 | 1.3 | 1.3 | 1.4 |
HID | Profil de périphérique d'interface humaine | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
PBAP | Profil d'accès au répertoire | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | 1.2 |
HDP | Profil d'appareil de santé | 1.0 | 1.0 | 1.1 | 1.1 | 1.1 |
SPP | Profil de port série | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
PAN / BNEP | Profil de réseau personnel / Protocole d'encapsulation du réseau Bluetooth | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
DIP | Profil d'ID de l'appareil | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
HOGP 1.0 | HID sur GATT | Oui | Oui | Oui | Oui | Oui |
Audio HD | Consultez Codecs audio avancés. L'implémentation dépend des capacités de l'appareil, à la fois au niveau de la source et du récepteur. | Non | Non | Non | Non | Oui |
Fonctionnalités Bluetooth Low Energy
Voici les fonctionnalités disponibles pour le BLE :
Fonctionnalité | Version d'Android | ||||
---|---|---|---|---|---|
Nom | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
Connexions sécurisées BR/EDR | 4.1 | 4.1 | 4.1 | 4.1 | 5,0 |
Confidentialité LE | 4.2 | 4.2 | 4.2 | 4.2 | 5,0 |
Connexions sécurisées LE | 4.2 | 4.2 | 4.2 | 4.2 | 5,0 |
Extensions de paquets de données | 4.2 | 4.2 | 4.2 | 4.2 | 5,0 |
UUID 32 bits | Oui | Oui | Oui | Oui | Oui |
Mode double LE central/périphérique | Oui | Oui | Oui | Oui | Oui |
Mode périphérique LE | Oui | Oui | Oui | Oui | Oui |
Exigences de Google concernant l'IHC | Oui | Oui | Oui | Oui | Oui |
Canaux LE orientés connexion | Non | Non | Non | Non | Non |