Serviços Bluetooth

Através do Bluetooth, os dispositivos podem transmitir dados que podem ser usados ​​para serviços interativos, como áudio, mensagens e telefonia. Os perfis Bluetooth usados ​​para diferentes serviços podem ser encontrados em include/hardware/bluetooth.h .

Áudio

Uma conexão Bluetooth permite que os usuários transmitam áudio em dispositivos habilitados para Bluetooth. Para a 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 coletor.

Controle de volume absoluto

No Android 6.0 e versões posteriores, a pilha Bluetooth do Android permite que uma fonte defina um volume absoluto, proporcionando 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. O coletor então amplifica o áudio de acordo com as informações de volume, para que os usuários ouçam o volume de reprodução preciso.

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

O controle de volume absoluto está ativado por padrão. Para desativar o controle de volume absoluto, os usuários podem ir para Configurações > Sistema > Opções do desenvolvedor e selecionar a opção Desativar volume absoluto .

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 codecs de áudio para quando os dispositivos se conectam a um coletor de áudio remoto. Essa negociação seleciona o melhor codec suportado pelo remetente e pelo coletor para fornecer áudio de alta qualidade. Após a seleção, todo o áudio é roteado através do codificador selecionado e depois enviado para o coletor.

Implementação

Dispositivos com Android 8.0 que suportam A2DP ganham automaticamente suporte adicional para codec. Os fabricantes de dispositivos podem precisar obter licenças separadas e blobs binários para alguns codecs de áudio proprietários. Além do SBC, o Android 8.0 oferece suporte aos seguintes codecs:

  • AAC
  • aptX
  • aptXHD
  • LDAC

Os fabricantes de dispositivos podem escolher quais codecs seus dispositivos tentarão usar primeiro. Defina as prioridades do codec alterando 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 inclui um codificador para o codec LDAC da Sony, portanto, não é necessária uma licença separada ou blob da Sony para isso. 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 possui documentação sobre LDAC, como manuais de especificação e operação. O site LDAC também fornece testes de validação e interoperabilidade para dispositivos móveis e tablets. Envie os resultados dos testes aprovados para a Sony para concluir a certificação LDAC.

Recursos da interface do usuário

Junto com suporte adicional para codecs, o Android 8.0 oferece uma configuração voltada ao usuário para desativar codecs de áudio Bluetooth de alta definição (HD).

  1. Navegue até Configurações > Dispositivos conectados > Bluetooth .
  2. Toque no ícone de engrenagem próximo ao coletor para o qual deseja desativar os codecs.
  3. Desmarque a caixa de seleção Áudio HD .

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

Mensagens

Mensagens por Bluetooth permitem que os usuários leiam, naveguem e redijam mensagens SMS a partir de um dispositivo remoto. Esse recurso é frequentemente usado ao conectar um telefone a um sistema de infoentretenimento no veículo.

Telefonia

Os serviços de telefonia Bluetooth permitem aos usuários transmitir chamadas e sincronizar contatos de um telefone para outro dispositivo Bluetooth. Esses recursos são frequentemente usados ​​para chamadas em modo viva-voz durante a condução.

No Android 8.0, o Bluetooth suporta toque em banda. Quando um telefone conectado via Bluetooth recebe uma chamada, o toque será reproduzido na pia. Habilite o toque em banda em Configurações > Sistema > Opções do desenvolvedor selecionando o botão de alternância para Habilitar toque em banda .

Recursos Bluetooth

Para implementar os serviços Bluetooth, a pilha Bluetooth suporta uma variedade de perfis e recursos.

Perfis Bluetooth

Estes perfis estão disponíveis para Bluetooth:

Recurso Versão Android
Nome Descrição 6,0 7,0 7.1 7.1.2 8,0
SEIVA Perfil de acesso SIM 1.1 1.1 1.1 1.1 1.1
MAPA Perfil de acesso a mensagens para SMS 1.2 1.2 1.2 1.2 1.2
OPP Perfil de envio de objeto 1.1 1.1 1.1 1.1 1.2
OBEX sobre L2CAP OBject EXchange sobre protocolo de adaptação e controle de link lógico Sim Sim Sim Sim Sim
Gateway de áudio HFP Perfil mãos-livres 1.6 1.6 1.7 1.7 1.7
PAS Perfil de fone de ouvido 1.2 1.2 1.2 1.2 1.2
A2DP Perfil avançado de distribuição de áudio 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
ESCONDIDO Perfil do dispositivo de interface humana 1,0 1,0 1,0 1,0 1,0
PAPB Perfil de acesso à lista telefônica 1.1.1 1.1.1 1.1.1 1.1.1 1.2
HDP Perfil do dispositivo de saúde 1,0 1,0 1.1 1.1 1.1
PPS 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 rede de Bluetooth 1,0 1,0 1,0 1,0 1,0
MERGULHAR 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 1 Consulte "Codecs de áudio avançados" acima Não Não Não Não Sim

1 A implementação de áudio HD depende dos recursos do dispositivo, tanto na fonte quanto no coletor.

Recursos Bluetooth de baixo consumo de energia

Esses recursos estão disponíveis para BLE:

Recurso Versão Android
Nome 6,0 7,0 7.1 7.1.2 8,0
Conexões seguras BR/EDR 4.1 4.1 4.1 4.1 5,0
Privacidade LE 4.2 4.2 4.2 4.2 5,0
Conexões seguras LE 4.2 4.2 4.2 4.2 5,0
Extensões de pacotes 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 de HCI do Google Sim Sim Sim Sim Sim
Canais Orientados à Conexão LE Não Não Não Não Não