Por 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 um fone de ouvido, é o coletor.
Controle de volume absoluto
No Android 6.0 e posterior, 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. 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 preciso.
O dispositivo de origem também pode registrar notificações de volume. Quando as alterações de volume são feitas com controles no coletor, o coletor envia uma notificação à origem. Isso permite que a fonte exiba com precisão as informações de volume em uma interface de usuário.
O controle de volume absoluto está ativado por padrão. Para desabilitar o controle de volume absoluto, os usuários podem acessar 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 codec 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 pelo codificador selecionado e enviado para o coletor.
Implementação
Os dispositivos que executam o Android 8.0 que suportam A2DP obtêm automaticamente o suporte de codec adicional. 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 é compatível com os seguintes codecs:
- AAC
- aptX
- aptX HD
- LDAC
Os fabricantes de dispositivos podem escolher quais codecs seus dispositivos tentam 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, uma licença separada ou blob da Sony não é necessária para isso. Para integrar o codec LDAC em seu dispositivo, registre-se na Sony e siga o processo de certificação LDAC .
O site de certificação do LDAC possui documentação sobre o LDAC, como manuais de especificação e operação. O site do 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
Juntamente com o suporte a codecs adicionais, o Android 8.0 fornece uma configuração voltada para o 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 ao lado da pia para a qual você 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 desativarem os codecs HD.
Mensagens
As mensagens via Bluetooth permitem que os usuários leiam, naveguem e componham mensagens SMS 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 que os usuários transmitam chamadas e sincronizem contatos de um telefone para outro dispositivo Bluetooth. Esses recursos são frequentemente usados para chamadas de viva-voz ao dirigir.
No Android 8.0, o Bluetooth é compatível com toques 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 a alternância para Ativar toque em banda .
Recursos Bluetooth
Para implementar os serviços Bluetooth, a pilha Bluetooth suporta uma variedade de perfis e recursos.
Perfis de Bluetooth
Estes perfis estão disponíveis para Bluetooth:
Característica | Versão do 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 Controle de Link Lógico e Protocolo de Adaptação | Sim | Sim | Sim | Sim | Sim |
Gateway de áudio HFP | Perfil mãos-livres | 1,6 | 1,6 | 1,7 | 1,7 | 1,7 |
HSP | Perfil do fone de ouvido | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
A2DP | Perfil de distribuição de áudio avançado | 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 |
PBAP | 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 integridade | 1,0 | 1,0 | 1.1 | 1.1 | 1.1 |
SPP | Perfil da 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 |
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 HD Audio depende dos recursos do dispositivo, tanto na fonte quanto no coletor.
Recursos Bluetooth de baixa energia
Esses recursos estão disponíveis para BLE:
Característica | Versão do 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 |
LE conexões seguras | 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 Dual LE Central/Periférico | Sim | Sim | Sim | Sim | Sim |
Modo periférico LE | Sim | Sim | Sim | Sim | Sim |
Requisitos do Google HCI | Sim | Sim | Sim | Sim | Sim |
Canais Orientados à Conexão LE | Não | Não | Não | Não | Não |
Por 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 um fone de ouvido, é o coletor.
Controle de volume absoluto
No Android 6.0 e posterior, 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. 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 preciso.
O dispositivo de origem também pode registrar notificações de volume. Quando as alterações de volume são feitas com controles no coletor, o coletor envia uma notificação à origem. Isso permite que a fonte exiba com precisão as informações de volume em uma interface de usuário.
O controle de volume absoluto está ativado por padrão. Para desabilitar o controle de volume absoluto, os usuários podem acessar 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 codec 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 pelo codificador selecionado e enviado para o coletor.
Implementação
Os dispositivos que executam o Android 8.0 que suportam A2DP obtêm automaticamente o suporte de codec adicional. 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 é compatível com os seguintes codecs:
- AAC
- aptX
- aptX HD
- LDAC
Os fabricantes de dispositivos podem escolher quais codecs seus dispositivos tentam 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, uma licença separada ou blob da Sony não é necessária para isso. Para integrar o codec LDAC em seu dispositivo, registre-se na Sony e siga o processo de certificação LDAC .
O site de certificação do LDAC possui documentação sobre o LDAC, como manuais de especificação e operação. O site do 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
Juntamente com o suporte a codecs adicionais, o Android 8.0 fornece uma configuração voltada para o 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 ao lado da pia para a qual você 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 desativarem os codecs HD.
Mensagens
As mensagens via Bluetooth permitem que os usuários leiam, naveguem e componham mensagens SMS 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 que os usuários transmitam chamadas e sincronizem contatos de um telefone para outro dispositivo Bluetooth. Esses recursos são frequentemente usados para chamadas de viva-voz ao dirigir.
No Android 8.0, o Bluetooth é compatível com toques 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 a alternância para Ativar toque em banda .
Recursos Bluetooth
Para implementar os serviços Bluetooth, a pilha Bluetooth suporta uma variedade de perfis e recursos.
Perfis de Bluetooth
Estes perfis estão disponíveis para Bluetooth:
Característica | Versão do 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 Controle de Link Lógico e Protocolo de Adaptação | Sim | Sim | Sim | Sim | Sim |
Gateway de áudio HFP | Perfil mãos-livres | 1,6 | 1,6 | 1,7 | 1,7 | 1,7 |
HSP | Perfil do fone de ouvido | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
A2DP | Perfil de distribuição de áudio avançado | 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 |
PBAP | 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 integridade | 1,0 | 1,0 | 1.1 | 1.1 | 1.1 |
SPP | Perfil da 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 |
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 HD Audio depende dos recursos do dispositivo, tanto na fonte quanto no coletor.
Recursos Bluetooth de baixa energia
Esses recursos estão disponíveis para BLE:
Característica | Versão do 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 |
LE conexões seguras | 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 Dual LE Central/Periférico | Sim | Sim | Sim | Sim | Sim |
Modo periférico LE | Sim | Sim | Sim | Sim | Sim |
Requisitos do Google HCI | Sim | Sim | Sim | Sim | Sim |
Canais Orientados à Conexão LE | Não | Não | Não | Não | Não |