Tramite Bluetooth, i dispositivi possono trasmettere dati che possono essere utilizzati per servizi interattivi come audio, messaggistica e telefonia. I profili Bluetooth utilizzati per i diversi servizi possono essere trovati in include/hardware/bluetooth.h
.
Audio
Una connessione Bluetooth consente agli utenti di eseguire lo streaming audio su dispositivi abilitati Bluetooth. Per la maggior parte dei casi d'uso audio, il dispositivo Android è l'origine e il dispositivo di rendering, ad esempio un altoparlante o una cuffia, è il sink.
Controllo assoluto del volume
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 accurato sul volume audio. Il dispositivo sorgente invia informazioni sull'audio e sul volume non attenuati al sink. Il dissipatore amplifica quindi l'audio in base alle informazioni sul volume, in modo che gli utenti sentano un volume di riproduzione accurato.
Il dispositivo sorgente può anche registrare notifiche di volume. Quando vengono apportate modifiche al volume con i controlli sul sink, il sink invia una notifica all'origine. Ciò consente alla sorgente di visualizzare accuratamente le informazioni sul volume su un'interfaccia utente.
Il controllo del volume assoluto è attivo per impostazione predefinita. Per disabilitare il controllo del volume assoluto, gli utenti possono andare su Impostazioni > Sistema > Opzioni sviluppatore e selezionare l'interruttore per Disabilita volume assoluto .
Codec audio avanzati
In Android 8.0, i dispositivi che utilizzano Advanced Audio Distribution Profile (A2DP) possono supportare codec audio aggiuntivi. Lo stack Bluetooth supporta la negoziazione del codec audio per quando i dispositivi si connettono a un sink audio remoto. Questa negoziazione seleziona il miglior codec supportato sia dal mittente che dal sink per fornire audio di alta qualità. Dopo la selezione, tutto l'audio viene instradato attraverso l'encoder selezionato e quindi inviato al sink.
Implementazione
I dispositivi con Android 8.0 che supportano A2DP ottengono automaticamente il supporto codec aggiuntivo. I produttori di dispositivi potrebbero dover ottenere licenze separate e blob binari per alcuni codec audio proprietari. Oltre a SBC, Android 8.0 supporta i seguenti codec:
- CAA
- aptX
- aptXHD
- LDAC
I produttori di dispositivi possono scegliere quali codec i loro dispositivi tentano di utilizzare per primi. Imposta le priorità del 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 Android Open Source include un codificatore per il codec LDAC di Sony, quindi non è necessaria una licenza o un blob separato da Sony. Per integrare il codec LDAC nel tuo dispositivo, registrati presso Sony e segui il processo di certificazione LDAC .
Il sito Web di certificazione LDAC contiene la documentazione relativa a LDAC, ad esempio manuali di specifiche e operazioni. 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 fornisce un'impostazione rivolta all'utente per disabilitare i codec audio Bluetooth ad alta definizione (HD).
- Passare a Impostazioni > Dispositivi connessi > Bluetooth .
- Tocca l'icona a forma di ingranaggio accanto al sink per cui desideri disattivare i codec.
- Deseleziona la casella di controllo Audio HD .
I produttori di dispositivi che personalizzano le impostazioni dovrebbero implementare un modo per consentire agli utenti di disabilitare 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 quando si collega un telefono a un sistema di infotainment di bordo.
Telefonia
I servizi di telefonia Bluetooth consentono agli utenti di effettuare lo streaming delle chiamate e di sincronizzare i contatti da un telefono a un altro dispositivo Bluetooth. Queste funzionalità vengono spesso utilizzate per le chiamate in vivavoce durante la guida.
In Android 8.0, il Bluetooth supporta la suoneria in banda. Quando un telefono connesso tramite Bluetooth riceve una chiamata in arrivo, la suoneria verrà riprodotta sul lavandino. Abilita la suoneria in banda in Impostazioni > Sistema > Opzioni sviluppatore selezionando l'interruttore Abilita 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 Bluetooth:
Caratteristica | Versione Android | |||||
---|---|---|---|---|---|---|
Nome | Descrizione | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
LINFA | Profilo di accesso alla SIM | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
CARTA GEOGRAFICA | Profilo di accesso ai messaggi per SMS | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
OPP | Profilo push oggetto | 1.1 | 1.1 | 1.1 | 1.1 | 1.2 |
OBEX su L2CAP | Scambio di oggetti tramite protocollo di controllo e adattamento del collegamento logico | SÌ | SÌ | SÌ | SÌ | SÌ |
Gateway audio HFP | Profilo vivavoce | 1.6 | 1.6 | 1.7 | 1.7 | 1.7 |
PAS | Profilo della cuffia | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
A2DP | Profilo di distribuzione audio avanzato | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
AVRCP | Profilo del telecomando audio/video | 1.3 | 1.3 | 1.3 | 1.3 | 1.4 |
NASCOSTO | 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 sanitario | 1.0 | 1.0 | 1.1 | 1.1 | 1.1 |
SPP | Profilo della 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 |
IMMERSIONE | Profilo ID dispositivo | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
HOGP 1.0 | HID durante il GATT | SÌ | SÌ | SÌ | SÌ | SÌ |
Audio HD1 | Vedi "Codec audio avanzati" sopra | NO | NO | NO | NO | SÌ |
1 L'implementazione dell'audio HD dipende dalle capacità del dispositivo, sia dalla sorgente che dal sink.
Funzionalità Bluetooth a basso consumo energetico
Queste funzionalità sono disponibili per BLE:
Caratteristica | Versione 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 |
LE connessioni sicure | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
Estensioni del pacchetto dati | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
UUID a 32 bit | SÌ | SÌ | SÌ | SÌ | SÌ |
Dual Mode LE Centrale/Periferica | SÌ | SÌ | SÌ | SÌ | SÌ |
Modalità periferica LE | SÌ | SÌ | SÌ | SÌ | SÌ |
Requisiti dell'HCI di Google | SÌ | SÌ | SÌ | SÌ | SÌ |
Canali LE orientati alla connessione | NO | NO | NO | NO | NO |