Services Bluetooth

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