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. Les profils Bluetooth utilisés pour différents services se trouvent dans include/hardware/bluetooth.h.

Audio

Une connexion Bluetooth permet aux utilisateurs de diffuser du contenu audio sur des appareils compatibles avec le Bluetooth. Pour 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 puits.

Contrôle du volume absolu

Sous 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 sink amplifie ensuite l'audio en fonction des informations de volume, de sorte que les utilisateurs entendent un volume de lecture précis.

L'appareil source peut également enregistrer des notifications de volume. Lorsque des modifications de volume sont apportées à l'aide des commandes du sink, 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 du volume absolu est activé par défaut. Pour désactiver le contrôle du volume absolu, les utilisateurs peuvent accéder à Paramètres > Système > Options pour les développeurs et activer l'option Désactiver le volume absolu.

Codecs audio avancés

Sous Android 8.0, les appareils qui utilisent le profil A2DP (Advanced Audio Distribution Profile) peuvent prendre en charge des codecs audio supplémentaires. La pile Bluetooth prend en charge la négociation de codec audio lorsque les appareils se connectent à un collecteur audio à distance. Cette négociation sélectionne le meilleur codec compatible à la fois avec l'expéditeur et le collecteur pour fournir un son de haute qualité. Après la sélection, tous les flux audio sont acheminés via l'encodeur sélectionné, puis envoyés au sink.

Implémentation

Les appareils équipés d'Android 8.0 compatibles avec A2DP bénéficient automatiquement de la compatibilité avec les 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 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 de codec 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

Le projet Android Open Source inclut un encodeur pour le codec LDAC de Sony. Il n'est donc pas nécessaire d'obtenir une licence ou un blob distincts de Sony. Pour intégrer le codec LDAC à votre appareil, enregistrez-vous auprès de Sony et suivez le processus de certification LDAC.

Le site Web de certification LDAC contient des documents sur le LDAC, tels que 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 finaliser 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 destiné à l'utilisateur pour désactiver les codecs audio Bluetooth haute définition (HD).

  1. Accédez à Paramètres > Appareils connectés > Bluetooth.
  2. Appuyez sur l'icône en forme de roue dentée à côté du sink pour lequel vous souhaitez désactiver les codecs.
  3. Décochez 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 SMS depuis un appareil distant. Cette fonctionnalité est souvent utilisée pour connecter un téléphone à un système d'infodivertissement embarqué.

Téléphonie

Les services de téléphonie Bluetooth permettent aux utilisateurs de diffuser des appels et de synchroniser des contacts depuis un téléphone vers un autre appareil Bluetooth. Ces fonctionnalités sont souvent utilisées pour les appels mains libres lorsque vous conduisez.

Sous Android 8.0, le Bluetooth est compatible avec la sonnerie en bande. Lorsqu'un téléphone connecté via Bluetooth reçoit un appel entrant, la sonnerie se déclenche sur le lavabo. Activez la sonnerie en bande dans Paramètres > Système > Options pour les développeurs en activant l'option Activer la sonnerie en bande.

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 SIM 1.1 1.1 1.1 1.1 1.1
MAP Profil d'accès aux messages pour les SMS 1.2 1.2 1.2 1.2 1.2
OPP Profil de transfert d'objets 1.1 1.1 1.1 1.1 1.2
OBEX over 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 (A2DP) 1.2 1.2 1.2 1.2 1.2
AVRCP Audio/Video Remote Control Profile (AVRCP) 1.3 1.3 1.3 1.3 1.4
HID Profil de l'appareil d'interface utilisateur 1.0 1.0 1.0 1.0 1.0
PBAP Profil d'accès au répertoire téléphonique 1.1.1 1.1.1 1.1.1 1.1.1 1.2
HDP Profil de l'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 de réseau Bluetooth 1.0 1.0 1.0 1.0 1.0
DIP Profil de l'ID de l'appareil 1.3 1.3 1.3 1.3 1.3
HOGP 1.0 HID over GATT Oui Oui Oui Oui Oui
Audio HD1 Consultez la section "Codecs audio avancés" ci-dessus. Non Non Non Non Oui

1 L'implémentation de l'audio HD dépend des fonctionnalités de l'appareil, à la fois sur la source et le sink.

Fonctionnalités Bluetooth à basse consommation

Ces fonctionnalités sont 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é des données de localisation 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
Central/périphérique LE Dual Mode Oui Oui Oui Oui Oui
Mode périphérique LE Oui Oui Oui Oui Oui
Exigences de Google concernant l'interface utilisateur conversationnelle Oui Oui Oui Oui Oui
Chaînes orientées connexion LE Non Non Non Non Non