Tramite Bluetooth, i dispositivi possono trasmettere dati che possono essere utilizzati per
servizi interattivi come audio, messaggistica e telefonia. Puoi
trovare i profili Bluetooth utilizzati per i diversi servizi in
include/hardware/bluetooth.h
.
Audio
Una connessione Bluetooth consente agli utenti di riprodurre in streaming audio su dispositivi compatibili con il Bluetooth. Nella maggior parte dei casi d'uso audio, il dispositivo basato su Android è l'origine e il dispositivo di rendering, ad esempio uno speaker o un headset, è il sink.
Controllo del volume assoluto
In Android 6.0 e versioni successive, lo stack Bluetooth Android consente a una sorgente di impostare un volume assoluto, offrendo agli utenti un controllo preciso del volume audio. Il dispositivo sorgente invia informazioni su audio e volume non attenuati al dispositivo di destinazione. Il sink amplifica l'audio in base alle informazioni sul volume, in modo che gli utenti sentano un volume di riproduzione accurato.
Il dispositivo di origine può anche registrare le notifiche relative al volume. Quando vengono apportate modifiche al volume con i controlli sul sink, il sink 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. Un utente può disattivare il controllo del volume assoluto in Impostazioni > Sistema > Opzioni sviluppatore facendo clic sul pulsante di attivazione/disattivazione 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. Lo stack 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 che dal sink per fornire audio di alta qualità. Dopo la selezione, il dispositivo instrada tutto l'audio tramite il codificatore selezionato e lo invia al sink.
Implementazione
I dispositivi con Android 8.0 che supportano A2DP ottengono automaticamente il supporto del codec aggiuntivo. 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
tentano 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
L'Android Open Source Project (AOSP) include un codificatore per il codec LDAC di Sony, quindi non è necessaria una licenza o un blob separato di Sony. Per integrare il codec LDAC nel tuo dispositivo, registrati con Sony e segui la procedura di certificazione LDAC.
Il sito web di certificazione LDAC contiene documentazione su LDAC, come manuali di specifiche e funzionamento. Il sito LDAC fornisce anche test di convalida e interoperabilità per dispositivi mobili e tablet. Invia i risultati del test superato a Sony per completare la certificazione LDAC.
Funzionalità dell'interfaccia utente
Oltre al supporto di codec aggiuntivi, Android 8.0 offre un'impostazione visibile all'utente per disattivare i codec audio Bluetooth ad alta definizione (HD). Un utente può disattivare i codec HD andando su Impostazioni > Dispositivi connessi > Bluetooth, toccando l'icona a forma di ingranaggio accanto al dispositivo di destinazione e deselezionando 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 via Bluetooth consente agli utenti di leggere, sfogliare e comporre SMS da un dispositivo remoto. Gli utenti utilizzano spesso questa funzionalità quando collegano uno smartphone a un sistema di infotainment del veicolo.
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. Gli utenti spesso utilizzano queste funzionalità per le chiamate in vivavoce quando guidano.
In Android 8.0, il Bluetooth supporta la suoneria in banda. Quando un telefono connesso tramite Bluetooth riceve una chiamata in arrivo, la suoneria viene riprodotta sul lavello. Attiva la suoneria in banda in Impostazioni > Sistema > Opzioni sviluppatore facendo clic sul pulsante di attivazione/disattivazione Attiva suoneria in banda.
Funzionalità Bluetooth
Per implementare i servizi Bluetooth, lo stack Bluetooth supporta una varietà di profili e funzionalità.
Profili Bluetooth
Questi profili sono disponibili per il Bluetooth:
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 |
MAPPA | Profilo di accesso ai messaggi per gli SMS | 1,2 | 1,2 | 1,2 | 1,2 | 1,2 |
OPP | Profilo push dell'oggetto | 1,1 | 1,1 | 1,1 | 1,1 | 1,2 |
OBEX su L2CAP | OBject EXchange over Logical Link Control and Adaptation Protocol | Sì | Sì | Sì | Sì | Sì |
HFP Audio Gateway | Profilo vivavoce | 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 | Sì | Sì | Sì | Sì | Sì |
Audio HD | Consulta Codec audio avanzati. L'implementazione dipende dalle funzionalità del dispositivo, sia sull'origine che sul sink. | No | No | No | No | Sì |
Funzionalità Bluetooth Low Energy
Queste funzionalità sono disponibili per il Bluetooth Low Energy:
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 |
LE privacy | 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 | Sì | Sì | Sì | Sì | Sì |
Modalità doppia LE centrale/periferica | Sì | Sì | Sì | Sì | Sì |
Modalità periferica LE | Sì | Sì | Sì | Sì | Sì |
Requisiti HCI di Google | Sì | Sì | Sì | Sì | Sì |
Canali orientati alla connessione LE | No | No | No | No | No |