Serviços Bluetooth

Por Bluetooth, os dispositivos podem transmitir dados que podem ser usados para serviços interativos, como áudio, mensagens e telefonia. Você pode encontrar os perfis Bluetooth usados para diferentes serviços em include/hardware/bluetooth.h.

Áudio

Com uma conexão Bluetooth, os usuários podem transmitir áudio em dispositivos compatíveis com Bluetooth. Na maioria dos casos de uso de áudio, o dispositivo Android é a fonte, e o dispositivo de renderização, como um alto-falante ou fone de ouvido, é o receptor.

Controle de volume absoluto

No Android 6.0 e versões mais recentes, a pilha Bluetooth do Android permite que uma fonte defina um volume absoluto, dando aos usuários controle preciso sobre o volume do áudio. O dispositivo de origem envia informações de áudio e volume não atenuadas para o coletor. Em seguida, o coletor amplifica o áudio de acordo com as informações de volume para que os usuários ouçam o volume de reprodução correto.

O dispositivo de origem também pode registrar notificações de volume. Quando as mudanças de volume são feitas com controles no coletor, ele envia uma notificação à fonte. Isso permite que a fonte mostre com precisão informações de volume em uma interface do usuário.

O controle de volume absoluto fica ativado por padrão. Um usuário pode desativar o controle de volume absoluto em Configurações > Sistema > Opções do desenvolvedor clicando no botão Desativar volume absoluto para a posição ativada.

Codecs de áudio avançados

No Android 8.0, os dispositivos que usam o Advanced Audio Distribution Profile (A2DP) podem oferecer suporte a codecs de áudio adicionais. A pilha Bluetooth oferece suporte à negociação de codec de áudio quando os dispositivos se conectam a um receptor de áudio remoto. Essa negociação seleciona o melhor codec compatível com o remetente e o receptor para fornecer áudio de alta qualidade. Depois da seleção, o dispositivo encaminha todo o áudio pelo codificador selecionado e o envia para o coletor.

Implementação

Os dispositivos com Android 8.0 que oferecem suporte ao A2DP ganham automaticamente o suporte adicional a codecs. Os fabricantes de dispositivos podem precisar obter licenças e blobs binários separados para alguns codecs de áudio proprietários. Além do SBC, o Android 8.0 é compatível com os seguintes codecs:

  • AAC
  • aptX
  • aptX HD
  • LDAC

Os fabricantes de dispositivos podem escolher quais codecs os dispositivos tentam usar primeiro. Defina as prioridades de codec mudando os seguintes valores em 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>
      

Certificação LDAC

O Android Open Source Project (AOSP) inclui um codificador para o codec LDAC da Sony. Portanto, não é necessária uma licença ou um blob separado da Sony. Para integrar o codec LDAC ao seu dispositivo, registre-se na Sony e siga o processo de certificação LDAC.

O site de certificação LDAC tem documentação sobre o LDAC, como manuais de especificação e operação. O site da LDAC também oferece testes de validação e interoperabilidade para dispositivos móveis e tablets. Envie os resultados aprovados do teste para a Sony para concluir a certificação LDAC.

Recursos da interface

Além de oferecer suporte a mais codecs, o Android 8.0 disponibiliza uma configuração para o usuário desativar codecs de áudio Bluetooth de alta definição (HD). Um usuário pode desativar os codecs HD acessando Configurações > Dispositivos conectados > Bluetooth, tocando no ícone de engrenagem ao lado do receptor e desmarcando a caixa de seleção Áudio HD.

Os fabricantes de dispositivos que personalizam as configurações precisam implementar uma maneira de os usuários desativarem os codecs HD.

Mensagens

Com as mensagens por Bluetooth, os usuários podem ler, navegar e escrever mensagens SMS em um dispositivo remoto. Os usuários costumam usar esse recurso ao conectar um smartphone a um sistema de infoentretenimento no veículo.

Telefonia

Os serviços de telefonia Bluetooth permitem que os usuários façam streaming de chamadas e sincronizem contatos de um smartphone para outro dispositivo Bluetooth. Os usuários costumam usar esses recursos para fazer chamadas viva-voz enquanto dirigem.

No Android 8.0, o Bluetooth é compatível com toque na banda. Quando um smartphone conectado por Bluetooth recebe uma ligação, o toque é reproduzido no dispositivo. Ative o toque na banda em Configurações > Sistema > Opções do desenvolvedor clicando no botão Ativar toque na banda para a posição ativada.

Recursos do Bluetooth

Para implementar os serviços Bluetooth, a pilha Bluetooth é compatível com vários perfis e recursos.

Perfis Bluetooth

Estes perfis estão disponíveis para Bluetooth:

Recurso Versão do Android
Nome Descrição 6.0 7.0 7.1 7.1.2 8.0
SAP Perfil de acesso ao chip 1.1 1.1 1.1 1.1 1.1
MAPEAR Perfil de acesso a mensagens para SMS 1.2 1.2 1.2 1.2 1.2
OPP Perfil de envio de objetos 1.1 1.1 1.1 1.1 1.2
OBEX sobre L2CAP OBject EXchange over Logical Link Control and Adaptation Protocol Sim Sim Sim Sim Sim
Gateway de áudio HFP Perfil viva-voz 1.6 1.6 1.7 1.7 1.7
HSP Perfil de fone de ouvido 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 Perfil de controle remoto de áudio/vídeo 1.3 1.3 1.3 1.3 1.4
HID Perfil de dispositivo de interface humana 1.0 1.0 1.0 1.0 1.0
PBAP Perfil de acesso à agenda telefônica 1.1.1 1.1.1 1.1.1 1.1.1 1.2
HDP Perfil Health Device 1.0 1.0 1.1 1.1 1.1
SPP Perfil de porta serial 1.2 1.2 1.2 1.2 1.2
PAN / BNEP Perfil de rede de área pessoal / protocolo de encapsulamento de rede Bluetooth 1.0 1.0 1.0 1.0 1.0
DIP Perfil de ID do dispositivo 1.3 1.3 1.3 1.3 1.3
HOGP 1.0 HID sobre GATT Sim Sim Sim Sim Sim
Áudio HD Consulte Codecs de áudio avançados. A implementação depende dos recursos do dispositivo, tanto na origem quanto no destino. Não Não Não Não Sim

Recursos do Bluetooth de baixa energia

Estes recursos estão disponíveis para BLE:

Recurso Versão do Android
Nome 6.0 7.0 7.1 7.1.2 8.0
Conexões seguras de BR/EDR 4.1 4.1 4.1 4.1 5.0
Privacidade de LE 4.2 4.2 4.2 4.2 5.0
Conexões seguras de LE 4.2 4.2 4.2 4.2 5.0
Extensões de pacote de dados 4.2 4.2 4.2 4.2 5.0
UUIDs de 32 bits Sim Sim Sim Sim Sim
Modo duplo LE central/periférico Sim Sim Sim Sim Sim
Modo periférico LE Sim Sim Sim Sim Sim
Requisitos do IHC do Google Sim Sim Sim Sim Sim
Canais orientados à conexão LE Não Não Não Não Não