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 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).

  1. Passare a Impostazioni > Dispositivi connessi > Bluetooth .
  2. Tocca l'icona a forma di ingranaggio accanto al sink per cui desideri disattivare i codec.
  3. 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
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
Audio HD1 Vedi "Codec audio avanzati" sopra NO NO NO NO

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
Dual Mode LE Centrale/Periferica
Modalità periferica LE
Requisiti dell'HCI di Google
Canali LE orientati alla connessione NO NO NO NO NO