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).
- Navegue até Configurações > Dispositivos conectados > Bluetooth .
- Toque no ícone de engrenagem próximo ao coletor para o qual deseja desativar os codecs.
- 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 |