Servizi Bluetooth

Tramite Bluetooth, i dispositivi possono trasmettere dati che possono essere utilizzati per servizi interattivi come audio, messaggistica e telefonia. I profili Bluetooth utilizzati per diversi servizi sono disponibili in include/hardware/bluetooth.h.

Audio

Una connessione Bluetooth consente agli utenti di riprodurre in streaming l'audio su dispositivi con Bluetooth. Per la maggior parte dei casi d'uso audio, il dispositivo Android è la sorgente e il dispositivo di rendering, ad esempio uno speaker o un auricolare, è il sink.

Controllo del volume assoluto

In Android 6.0 e versioni successive, lo stack Bluetooth di Android consente a una fonte di impostare un volume assoluto, offrendo agli utenti un controllo preciso sul volume audio. Il dispositivo di origine invia al sink informazioni sull'audio e sul volume non attenuati. Il sink amplifica quindi l'audio in base alle informazioni sul volume, in modo che gli utenti ascoltino un volume di riproduzione preciso.

Il dispositivo di origine può anche registrare le notifiche relative al volume. Quando vengono apportate modifiche al volume con i controlli sul sink, quest'ultimo invia una notifica all'origine. In questo modo, la sorgente può visualizzare con precisione le informazioni sul volume in un'interfaccia utente.

Il controllo del volume assoluto è attivo per impostazione predefinita. Per disattivare il controllo del volume assoluto, gli utenti possono andare a Impostazioni > Sistema > Opzioni sviluppatore e selezionare l'opzione Disattiva volume assoluto.

Codec audio avanzati

In Android 8.0, i dispositivi che utilizzano il profilo Advanced Audio Distribution (A2DP) possono supportare codec audio aggiuntivi. La pila Bluetooth supporta la negoziazione del codec audio quando i dispositivi si connettono a un sink audio remoto. Questa negoziazione seleziona il codec migliore supportato sia dal mittente sia dal destinatario per fornire audio di alta qualità. Dopo la selezione, tutto l'audio viene instradato tramite l'encoder selezionato e poi inviato al sink.

Implementazione

I dispositivi con Android 8.0 che supportano A2DP ottengono automaticamente il supporto aggiuntivo dei codec. I produttori di dispositivi potrebbero dover ottenere licenze e blob binari separati per alcuni codec audio proprietari. Oltre a SBC, Android 8.0 supporta i seguenti codec:

  • AAC
  • aptX
  • aptX HD
  • LDAC

I produttori di dispositivi possono scegliere i codec che i loro dispositivi tenteranno di utilizzare per primi. Imposta le priorità dei codec modificando i seguenti valori in 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>
      

Certificazione LDAC

Il progetto open source Android include un codificatore per il codec LDAC di Sony, pertanto non è necessaria una licenza o un blob separato di Sony. Per integrare il codec LDAC nel tuo dispositivo, registrati a Sony e segui la procedura di certificazione LDAC.

Il sito web di certificazione LDAC contiene la documentazione relativa a LDAC, come manuali di specifiche e di funzionamento. Il sito LDAC fornisce inoltre test di convalida e interoperabilità per dispositivi mobili e tablet. Invia i risultati dei test superati a Sony per completare la certificazione LDAC.

Funzionalità dell'interfaccia utente

Oltre al supporto di codec aggiuntivi, Android 8.0 offre un'impostazione rivolta agli utenti per disattivare i codec audio Bluetooth ad alta definizione (HD).

  1. Vai a Impostazioni > Dispositivi connessi > Bluetooth.
  2. Tocca l'icona a forma di ingranaggio accanto al sink per cui vuoi disattivare i codec.
  3. Deseleziona la casella di controllo Audio HD.

I produttori di dispositivi che personalizzano le impostazioni devono implementare un modo per consentire agli utenti di disattivare i codec HD.

Messaggistica

La messaggistica tramite Bluetooth consente agli utenti di leggere, sfogliare e comporre messaggi SMS da un dispositivo remoto. Questa funzionalità viene spesso utilizzata per collegare un telefono a un sistema di infotainment in auto.

Telefonia

I servizi di telefonia Bluetooth consentono agli utenti di riprodurre in streaming le chiamate e sincronizzare i contatti da uno smartphone a un altro dispositivo Bluetooth. Queste funzionalità vengono spesso utilizzate per le chiamate vivavoce durante la guida.

In Android 8.0, il Bluetooth supporta la suoneria in banda. Quando uno smartphone connesso tramite Bluetooth riceve una chiamata in arrivo, la suoneria viene riprodotta sulla base. Attiva la suoneria in banda in Impostazioni > Sistema > Opzioni sviluppatore selezionando l'opzione Attiva suono in banda.

Funzionalità Bluetooth

Per implementare i servizi Bluetooth, lo stack Bluetooth supporta una gamma di profili e funzionalità.

Profili Bluetooth

Per il Bluetooth sono disponibili i seguenti profili:

Funzionalità Versione di Android
Nome Descrizione 6.0 7,0 7.1 7.1.2 8.0
SAP Profilo di accesso alla SIM 1,1 1,1 1,1 1,1 1,1
MAP Profilo di accesso ai messaggi per SMS 1,2 1,2 1,2 1,2 1,2
OPP Profilo push di oggetti 1,1 1,1 1,1 1,1 1,2
OBEX su L2CAP OBject EXchange over Logical Link Control and Adaptation Protocol
HFP Audio Gateway Profilo Hands-Free 1,6 1,6 1,7 1,7 1,7
HSP Profilo cuffie 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 Profilo di controllo remoto audio/video 1.3 1.3 1.3 1.3 1,4
HID Profilo del dispositivo di interfaccia umana 1.0 1.0 1.0 1.0 1.0
PBAP Profilo di accesso alla rubrica 1.1.1 1.1.1 1.1.1 1.1.1 1,2
HDP Profilo del dispositivo per la salute 1.0 1.0 1,1 1,1 1,1
SPP Profilo porta seriale 1,2 1,2 1,2 1,2 1,2
PAN / BNEP Profilo Personal Area Networking / Protocollo di incapsulamento della rete Bluetooth 1.0 1.0 1.0 1.0 1.0
DIP Profilo ID dispositivo 1.3 1.3 1.3 1.3 1.3
HOGP 1.0 HID over GATT
Audio HD1 Consulta "Codec audio avanzati" sopra No No No No

1 L'implementazione dell'audio HD dipende dalle funzionalità del dispositivo, sia di quello di origine sia di quello di destinazione.

Funzionalità Bluetooth Low Energy

Queste funzionalità sono disponibili per BLE:

Funzionalità Versione di Android
Nome 6.0 7,0 7.1 7.1.2 8.0
Connessioni sicure BR/EDR 4.1 4.1 4.1 4.1 5,0
Privacy LE 4.2 4.2 4.2 4.2 5,0
Connessioni sicure LE 4.2 4.2 4.2 4.2 5,0
Estensioni dei pacchetti di dati 4.2 4.2 4.2 4.2 5,0
UUID a 32 bit
Dual Mode LE Central/Peripheral
Modalità periferica LE
Requisiti per l'interfaccia utente di Google
Canali LE orientati alla connessione No No No No No