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).
- Vai a Impostazioni > Dispositivi connessi > Bluetooth.
- Tocca l'icona a forma di ingranaggio accanto al sink per cui vuoi disattivare i codec.
- 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 | Sì | Sì | Sì | Sì | Sì |
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 | Sì | Sì | Sì | Sì | Sì |
Audio HD1 | Consulta "Codec audio avanzati" sopra | No | No | No | No | Sì |
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 | Sì | Sì | Sì | Sì | Sì |
Dual Mode LE Central/Peripheral | Sì | Sì | Sì | Sì | Sì |
Modalità periferica LE | Sì | Sì | Sì | Sì | Sì |
Requisiti per l'interfaccia utente di Google | Sì | Sì | Sì | Sì | Sì |
Canali LE orientati alla connessione | No | No | No | No | No |