Les indicateurs de niveau de batterie Bluetooth arrivent enfin sur Android

Les indicateurs de niveau de batterie Bluetooth pourraient enfin être disponibles sur Android afin que les appareils Google, Motorola et Sony puissent connaître le niveau de batterie des appareils connectés.

Une fonctionnalité très utile pour ceux d’entre nous qui possèdent des casques Bluetooth et d’autres appareils fait enfin son chemin vers l’AOSP: les indicateurs de niveau de batterie Bluetooth. Cela signifie que les utilisateurs de Google, Motorola, Sony et d'autres appareils dotés d'un logiciel Android proche du stock doivent être capable de connaître le niveau de batterie de leurs appareils connectés Bluetooth sans avoir recours à un tiers application. On ne sait pas exactement comment cet indicateur de niveau de batterie Bluetooth apparaîtra dans son état final, mais le L'existence de cette nouvelle API dans AOSP signifie que les développeurs peuvent implémenter des indicateurs de batterie Bluetooth comme bon leur semble. comme.

Désormais, pour ceux d'entre vous qui utilisent certaines ROM personnalisées (comme LineageOS) ou avec des appareils de certains fabricants (comme ceux de Samsung, LG, Huawei, OnePlus ou Xiaomi), ce n'est pas une nouvelle fonctionnalité. Les indicateurs de niveau de batterie pour les appareils Bluetooth connectés sont pris en charge depuis des années sur de nombreuses ROM personnalisées et appareils OEM tiers, mais un tel La fonctionnalité est notamment absente du projet Android Open Source (AOSP), ce qui signifie que tout téléphone Google doté du micrologiciel d'origine ne prendra pas en charge il.

Indicateur de niveau de batterie Bluetooth Samsung
Indicateur de niveau de batterie Bluetooth OnePlus
Indicateur de niveau de batterie Bluetooth LG

Les utilisateurs disposant d'appareils Bluetooth qui ont la chance de disposer d'une application compagnon disponible sur le Google Play Store peut ainsi récupérer des informations sur le niveau de la batterie, mais sinon, il y en a peu choix. Une application populaire sur le Play Store appelée Bâton a tenté d'ajouter cette fonctionnalité, mais elle est assez limitée dans la gamme d'appareils qu'elle peut prendre en charge (sans faute de lui-même) et est également connu pour être assez bogué (de nombreux utilisateurs signalant des déconnexions Bluetooth fréquentes).

BâtonDéveloppeur: limitium

Prix ​​: Gratuit.

2.8.

Télécharger

Plutôt que de compter sur des applications tierces qui fonctionnent uniquement avec un seul appareil Bluetooth que vous possédez ou qui ne prennent en charge qu'un sur une poignée d'appareils, ce serait formidable si Google intervenait pour proposer une fonctionnalité disponible sur d'autres appareils depuis années. Et finalement, c’est exactement ce qu’ils semblent faire.


API de niveau de batterie Bluetooth dans AOSP

Le Bluetooth Special Interest Group (Bluetooth SIG), l'organisme qui supervise les normes pour chaque itération Bluetooth, a déjà défini un service de batterie (BAS) en GATT (Services d'attributs génériques), mais c'est à Bluetooth de prendre en charge BAS. Selon certains nouveaux commits que nous avons trouvés en fouillant dans AOSP, Google se prépare à ajouter de nouveaux Apis pour "obtenir le niveau de batterie de l'appareil distant". Ils mentionnent notamment les ajouts suivants à l’AOSP :

Ajoutez des API pour obtenir le niveau de batterie de l'appareil distant

  • Ajoutez l'API BluetoothDevice.getBatteryLevel() pour récupérer les informations sur le niveau de batterie de l'appareil distant
  • Ajoutez un périphérique Bluetooth. ACTION_BATTERY_LEVEL_CHANGED intention d'informer l'utilisateur que le niveau de la batterie de l'appareil distant a changé
  • Ajouter des méthodes de service backend pour BluetoothDevice.getBatteryLevel()
  • Ajouter un champ de niveau de batterie dans DeviceProperties avec des getters et des setters
  • Ajouter la méthode updateBatteryLevel() dans RemoteDevices
  • Ajouter la méthode resetBatteryLevel() dans RemoteDevices
  • Réinitialisez le niveau de la batterie de l'appareil lorsque l'appareil est déconnecté dans aclStateChangeCallback() pour garantir une intention BATTERY_LEVEL_CHANGED lorsque l'appareil signale pour la première fois les informations sur le niveau de la batterie après la connexion.
  • Ajouter des tests pour updateBatteryLevel() et resetBatteryLevel()

De là, nous pouvons voir que Google ajoutera une nouvelle méthode dans le Appareil Bluetooth classe appelée getBatteryLevel() qui récupérera le niveau actuel de la batterie d'un appareil connecté lorsqu'il est appelé. Selon la source code, cela renvoie une valeur comprise entre 0 et 100 (ou -1 si Bluetooth est désactivé, l'appareil est déconnecté ou ne prend pas en charge la notification du niveau de sa batterie). Cela signifie donc qu'il est possible d'afficher le niveau de la batterie d'une manière plus informative qu'une simple barre. Un développeur pourrait par exemple afficher une notification ou un widget avec le pourcentage exact.

Mais ce n'est pas tout, une application qui s'abonne à l'intention de diffusion ACTION_BATTERY_LEVEL_CHANGED sera avertie lorsque le niveau de la batterie de l'appareil connecté aura changé. Avec un récepteur de diffusion, une application qui écoute les changements dans l'état de la batterie de l'appareil Bluetooth connecté sera averti lorsque le niveau de la batterie a changé, il ne sera donc pas nécessaire de mettre en œuvre un service d'interrogation en arrière-plan persistant. gentil. Cette valeur est envoyée sous forme d'entier compris entre 0 et 100 % via l'intention supplémentaire EXTRA_BATTERY_LEVEL, et le l'application peut différencier les appareils connectés en filtrant via l'intention supplémentaire EXTRA_DEVICE.

Même certains appareils qui envoient des informations sur la batterie à leur manière, comme le XÉvénement ou celui d'Apple CSV, sera également pris en charge. Des travaux sont également en cours sur les rapports sur le niveau de batterie Bluetooth Low Energy (BLE). prise en charge, bien que cela soit répertorié comme "ne peut pas fusionner" pour le moment.


Fonctionnalité possible pour Android 8.1?

Android O est presque à nos portes. Le quatrième aperçu du développeur a été récemment publié et visait principalement à corriger des bugs, bien qu'il y ait eu quelques modifications mineures de l'interface utilisateur ici et là. Cependant, Google a annoncé que le troisième aperçu du développeur présentait toutes les API Android O finalisées que les développeurs peuvent utiliser pour se préparer à la prochaine version d'Android. En tant que tel, cela signifie que la nouvelle API de rapport sur le niveau de batterie Bluetooth connecté ne sera pas disponible dans la première version d'Android O - Android 8.0.

Cependant, cela ne veut pas dire que cela ne viendra pas. Il est possible que Google introduit officiellement cette API (quand elle sera réellement terminée) avec l'éventuel version d'Android 8.1. Dans le même temps, ils peuvent même décider que cette fonctionnalité soit prise en charge via le Android Bibliothèque d'assistance, l'apportant aux versions antérieures d'Android. Si cela finit par se produire, les utilisateurs n'auront pas à attendre des mois pour profiter d'une telle fonctionnalité (même si nous encourageons toujours les utilisateurs à essayer l'une des nombreuses ROM personnalisées disponibles sur nos formidables forums).

Néanmoins, cela devrait être une nouvelle passionnante pour les fans du logiciel stock sur leur téléphone. J'espère que vous n'aurez pas à être jaloux des utilisateurs d'Apple, Samsung, Huawei, LG et d'autres appareils dotés de cette fonctionnalité astucieuse qui aurait dû être disponible sur Android il y a très, très longtemps. Compte tenu de la récente vague de soutien en faveur de l'idée Reddit, nous sommes sûrs que ce sera une fonctionnalité bienvenue - lorsqu'il s'agira éventuellement d'Android en stock.