Os indicadores de nível de bateria Bluetooth estão finalmente chegando ao Android

Os indicadores de nível de bateria Bluetooth podem finalmente chegar ao estoque do Android para que os dispositivos Google, Motorola e Sony possam obter o nível de bateria dos dispositivos conectados.

Um recurso realmente útil para quem tem fones de ouvido Bluetooth e outros dispositivos está finalmente chegando ao AOSP: indicadores de nível de bateria Bluetooth. Isso significa que os usuários do Google, Motorola, Sony e outros dispositivos com software Android quase disponível devem ser capaz de saber o nível da bateria de seus dispositivos conectados por Bluetooth sem a necessidade de terceiros aplicativo. Não há como dizer exatamente como esse indicador de nível de bateria Bluetooth aparecerá em seu estado final, mas o A existência desta nova API no AOSP significa que os desenvolvedores podem implementar indicadores de bateria Bluetooth da maneira que quiserem. como.

Agora, para aqueles que usam certas ROMs personalizadas (como LineageOS) ou com dispositivos de determinados fabricantes (como Samsung, LG, Huawei, OnePlus ou Xiaomi), este não é um recurso novo. Os indicadores de nível de bateria para dispositivos Bluetooth conectados são suportados em muitas ROMs personalizadas e dispositivos OEM de terceiros há anos, mas tal O recurso está faltando no Android Open Source Project (AOSP), o que significa que qualquer telefone do Google no firmware padrão não suportará isto.

Indicador de nível de bateria Bluetooth Samsung
Indicador de nível de bateria Bluetooth OnePlus
Indicador de nível de bateria Bluetooth LG

Usuários com dispositivos Bluetooth que têm a sorte de ter um aplicativo complementar disponível no A Google Play Store pode recuperar informações sobre o nível da bateria dessa forma, mas, por outro lado, existem poucos opções. Um aplicativo popular na Play Store chamado Bastão tentei adicionar esse recurso, mas é bastante limitado na gama de dispositivos que pode suportar (sem culpa por si só) e também é conhecido por ter muitos bugs (com muitos usuários relatando desconexão frequente do Bluetooth).

BastãoDesenvolvedor: Limitium

Preço: Grátis.

2.8.

Download

Em vez de depender de aplicativos de terceiros que funcionam apenas com um único dispositivo Bluetooth de sua propriedade ou que suportam apenas um poucos dispositivos disponíveis no mercado, seria ótimo se o Google interviesse para oferecer um recurso que está disponível em outros dispositivos há anos. E, finalmente, parece que eles estão fazendo exatamente isso.


APIs de nível de bateria Bluetooth no AOSP

O Bluetooth Special Interest Group (Bluetooth SIG), órgão que supervisiona os padrões para cada iteração do Bluetooth, já definiu um serviço de bateria (BAS) em GATT (serviços de atributos genéricos), mas cabe ao Bluetooth suportar BAS. De acordo com alguns novos commits que encontramos enquanto pesquisamos no AOSP, o Google está se preparando para adicionar novos APIs para "obter o nível da bateria do dispositivo remoto". Em particular, mencionam as seguintes adições ao AOSP:

Adicione APIs para obter o nível de bateria do dispositivo remoto

  • Adicione a API BluetoothDevice.getBatteryLevel() para recuperar informações de nível de bateria do dispositivo remoto
  • Adicionar dispositivo Bluetooth. ACTION_BATTERY_LEVEL_CHANGED intenção de notificar o usuário de que o nível da bateria do dispositivo remoto mudou
  • Adicionar métodos de serviço de back-end para BluetoothDevice.getBatteryLevel()
  • Adicione campo de nível de bateria em DeviceProperties com getters e setters
  • Adicionar método updateBatteryLevel() em RemoteDevices
  • Adicionar método resetBatteryLevel() em RemoteDevices
  • Redefina o nível da bateria do dispositivo quando o dispositivo for desconectado em aclStateChangeCallback() para garantir uma intenção BATTERY_LEVEL_CHANGED quando o dispositivo reportar pela primeira vez informações sobre o nível da bateria após a conexão
  • Adicione testes para updateBatteryLevel() e resetBatteryLevel()

A partir disso, podemos ver que o Google adicionará um novo método no Dispositivo Bluetooth classe chamada getBatteryLevel() que recuperará o nível atual da bateria de um dispositivo conectado quando chamado. De acordo com a fonte código, isso retornará um valor entre 0 e 100 (ou -1 se o Bluetooth estiver desativado, o dispositivo estiver desconectado ou não oferecer suporte ao relatório do nível da bateria). Portanto, isso significa que é possível que o nível da bateria seja mostrado de uma forma mais informativa do que uma simples barra. Um desenvolvedor poderia mostrar uma notificação ou widget com a porcentagem exata, por exemplo.

Mas isso não é tudo, um aplicativo que assina a intenção de transmissão ACTION_BATTERY_LEVEL_CHANGED será notificado quando o nível da bateria do dispositivo conectado for alterado. Com um receptor de transmissão, um aplicativo que esteja ouvindo alterações no estado da bateria do dispositivo Bluetooth conectado será notificado quando o nível da bateria for alterado, portanto, não haverá necessidade de implementar um serviço persistente de pesquisa em segundo plano de qualquer tipo. Este valor é enviado como um número inteiro entre 0 e 100% através do intent extra EXTRA_BATTERY_LEVEL, e o o aplicativo pode diferenciar entre dispositivos conectados filtrando a intenção extra EXTRA_DEVICE.

Mesmo certos dispositivos que enviam informações da bateria à sua maneira, como o da Plantronics XEvento ou da Apple VSC, também será suportado. Também há trabalho sendo feito no relatório de nível de bateria Bluetooth Low Energy (BLE) sendo suportado, embora esteja listado como "não é possível mesclar" no momento.


Possível recurso para Android 8.1?

O Android O está quase chegando. O quarta prévia do desenvolvedor foi lançado recentemente e visava principalmente a correção de bugs, embora houvesse alguns pequenos ajustes na interface do usuário aqui e ali. No entanto, o Google anunciou que o terceira visualização do desenvolvedor apresentou todas as APIs finalizadas do Android O que os desenvolvedores podem usar para se preparar para a próxima versão do Android. Como tal, isso significa que a nova API de relatório de nível de bateria Bluetooth conectada não chegará à primeira versão do Android O - Android 8.0.

No entanto, isso não significa que não virá. É possível que o Google introduza esta API oficialmente (quando estiver realmente concluída) com o eventual lançamento do Android 8.1. Ao mesmo tempo, podem até decidir que esta funcionalidade seja suportada através do Android Biblioteca de Suporte, trazendo-o para versões anteriores do Android. Se isso acontecer, os usuários não terão que esperar meses para aproveitar esse recurso (embora sempre incentivemos os usuários a experimentar uma das muitas ROMs personalizadas disponíveis em nossos incríveis fóruns).

No entanto, esta deve ser uma notícia emocionante para os fãs do software padrão em seus telefones. Esperamos que você não tenha inveja dos usuários da Apple, Samsung, Huawei, LG e outros dispositivos com esse recurso bacana que deveria estar disponível no Android há muito, muito tempo. Dada a recente manifestação de apoio à ideia em Reddit, temos certeza de que esse será um recurso bem-vindo - quando eventualmente chegar ao estoque do Android.