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 |