Bluetooth-Batteriestandsanzeigen kommen endlich für Android

Bluetooth-Batteriestandsanzeigen könnten endlich auf Android verfügbar sein, sodass Google-, Motorola- und Sony-Geräte den Batteriestand verbundener Geräte ermitteln können.

Eine wirklich nützliche Funktion für diejenigen von uns mit Bluetooth-Headsets und anderen Geräten hält endlich Einzug in AOSP: Bluetooth-Batteriestandsanzeigen. Dies bedeutet, dass Benutzer von Google, Motorola, Sony und anderen Geräten mit nahezu serienmäßiger Android-Software sein sollten Sie sind in der Lage, den Batteriestand ihrer über Bluetooth verbundenen Geräte zu ermitteln, ohne dass ein Dritter erforderlich ist Anwendung. Es lässt sich nicht genau sagen, wie diese Bluetooth-Batteriestandsanzeige im Endzustand aussehen wird, aber die Das Vorhandensein dieser neuen API in AOSP bedeutet, dass Entwickler Bluetooth-Batterieanzeigen nach Belieben implementieren können wie.

Für diejenigen unter Ihnen, die bestimmte benutzerdefinierte ROMs (z. B. LineageOS) oder Geräte bestimmter Hersteller (z. B. von Samsung, LG, Huawei, OnePlus oder Xiaomi) verwenden, ist dies keine neue Funktion. Batteriestandsanzeigen für verbundene Bluetooth-Geräte werden seit Jahren auf vielen benutzerdefinierten ROMs und OEM-Geräten von Drittanbietern unterstützt, aber z Die Funktion fehlt insbesondere im Android Open Source Project (AOSP), was bedeutet, dass kein Google-Telefon mit der Standard-Firmware unterstützt wird Es.

Samsung Bluetooth-Batteriestandsanzeige
OnePlus Bluetooth-Batteriestandsanzeige
LG Bluetooth-Batteriestandsanzeige

Benutzer mit Bluetooth-Geräten, die das Glück haben, eine Begleitanwendung auf dem Gerät verfügbar zu haben Google Play Store kann auf diese Weise Informationen zum Akkustand abrufen, ansonsten gibt es jedoch nur wenige Optionen. Eine beliebte Anwendung im Play Store namens Taktstock Ich habe versucht, diese Funktion hinzuzufügen, aber die Anzahl der unterstützten Geräte ist recht begrenzt (ohne Fehler). von sich aus) und ist auch bekanntermaßen ziemlich fehlerhaft (viele Benutzer berichten von häufigen Bluetooth-Verbindungsabbrüchen).

TaktstockEntwickler: limitium

Kostenlos.

2.8.

Herunterladen

Anstatt sich auf Anwendungen von Drittanbietern zu verlassen, die entweder nur mit einem einzigen Bluetooth-Gerät funktionieren, das Sie besitzen, oder die nur eines unterstützen Da es nur wenige Geräte gibt, wäre es großartig, wenn Google eingreifen und eine Funktion anbieten würde, die auf anderen Geräten verfügbar ist Jahre. Und schließlich sieht es so aus, als würden sie genau das tun.


Bluetooth-Batteriestand-APIs in AOSP

Die Bluetooth Special Interest Group (Bluetooth SIG), die Organisation, die die Standards für jede Bluetooth-Iteration überwacht, hat bereits einen Batteriedienst (BAS) definiert GATT (Generische Attribute-Dienste), aber Bluetooth muss BAS unterstützen. Laut einigen neuen Commits, die wir beim Durchstöbern von AOSP gefunden haben, bereitet Google die Hinzufügung neuer Commits vor APIs um „den Batteriestand des Remote-Geräts abzurufen“. Insbesondere erwähnen sie die folgenden Ergänzungen zu AOSP:

Fügen Sie APIs hinzu, um den Akkustand des Remote-Geräts zu ermitteln

  • Fügen Sie die API BluetoothDevice.getBatteryLevel() hinzu, um Informationen zum Batteriestand des Remote-Geräts abzurufen
  • Bluetooth-Gerät hinzufügen. ACTION_BATTERY_LEVEL_CHANGED beabsichtigt, den Benutzer darüber zu informieren, dass sich der Batteriestand des Remote-Geräts geändert hat
  • Backend-Dienstmethoden für BluetoothDevice.getBatteryLevel() hinzufügen
  • Fügen Sie in DeviceProperties ein Feld für den Batteriestand mit Gettern und Settern hinzu
  • Fügen Sie die Methode updateBatteryLevel() in RemoteDevices hinzu
  • Fügen Sie die Methode „resetBatteryLevel()“ in RemoteDevices hinzu
  • Setzen Sie den Batteriestand für das Gerät zurück, wenn das Gerät in aclStateChangeCallback() getrennt wird, um eine BATTERY_LEVEL_CHANGED-Absicht sicherzustellen, wenn das Gerät nach der Verbindung zum ersten Mal Informationen zum Batteriestand meldet
  • Tests für updateBatteryLevel() und resetBatteryLevel() hinzufügen

Daraus können wir ersehen, dass Google eine neue Methode hinzufügen wird Bluetooth-Gerät Klasse namens getBatteryLevel(), die beim Aufruf den aktuellen Batteriestand eines angeschlossenen Geräts abruft. Laut Quelle Code, dies gibt einen Wert zwischen 0 und 100 zurück (oder -1, wenn Bluetooth deaktiviert ist, das Gerät nicht verbunden ist oder die Meldung des Akkuladestands nicht unterstützt). Dies bedeutet, dass der Akkuladestand auf eine aussagekräftigere Weise als durch einen einfachen Balken angezeigt werden kann. Ein Entwickler könnte beispielsweise eine Benachrichtigung oder ein Widget mit dem genauen Prozentsatz anzeigen.

Aber das ist noch nicht alles: Eine Anwendung, die die Broadcast-Absicht ACTION_BATTERY_LEVEL_CHANGED abonniert, wird benachrichtigt, wenn sich der Batteriestand des angeschlossenen Geräts geändert hat. Bei einem Rundfunkempfänger handelt es sich um eine Anwendung, die auf Änderungen im Batteriezustand des verbundenen Bluetooth-Geräts wartet benachrichtigt, wenn sich der Batteriestand geändert hat, sodass keine Notwendigkeit besteht, einen permanenten Hintergrundabfragedienst zu implementieren Art. Dieser Wert wird als Ganzzahl zwischen 0 und 100 % durch das Intent-Extra EXTRA_BATTERY_LEVEL gesendet Die Anwendung kann zwischen angeschlossenen Geräten unterscheiden, indem sie nach dem Intent-Extra filtert EXTRA_DEVICE.

Sogar bestimmte Geräte, die Batterieinformationen auf ihre eigene Weise senden, wie z. B. das Gerät von Plantronics XEvent oder Apples VSC, wird ebenfalls unterstützt. Es wird auch an der Berichterstattung über den Batteriestand von Bluetooth Low Energy (BLE) gearbeitet unterstützt, obwohl dies derzeit als „Zusammenführung nicht möglich“ aufgeführt ist.


Mögliches Feature für Android 8.1?

Android O steht vor der Tür. Der vierte Entwicklervorschau wurde kürzlich veröffentlicht und zielte hauptsächlich auf Fehlerbehebungen ab, obwohl es hier und da ein paar kleinere UI-Änderungen gab. Allerdings gab Google bekannt, dass die dritte Entwicklervorschau stellte alle finalisierten Android O-APIs vor, die Entwickler nutzen können, um sich auf die nächste Android-Version vorzubereiten. Dies bedeutet, dass die neue API zur Meldung des Akkuladestands über verbundenes Bluetooth nicht in die erste Version von Android O – Android 8.0 – integriert wird.

Das bedeutet jedoch nicht, dass es nicht kommen wird. Es ist möglich, dass Google diese API irgendwann offiziell einführt (sobald sie tatsächlich fertig ist). Veröffentlichung von Android 8.1. Gleichzeitig können sie sich sogar dafür entscheiden, diese Funktion über das unterstützen zu lassen Android Support-Bibliothek, wodurch es auf frühere Android-Versionen übertragen wird. Wenn das passiert, müssen Benutzer nicht Monate warten, um in den Genuss einer solchen Funktion zu kommen (obwohl wir Benutzern immer empfehlen, eines der vielen benutzerdefinierten ROMs auszuprobieren, die in unseren tollen Foren verfügbar sind).

Nichtsdestotrotz dürfte dies eine aufregende Neuigkeit für Fans der Aktiensoftware auf ihrem Handy sein. Hoffentlich müssen Sie nicht neidisch auf Benutzer von Apple-, Samsung-, Huawei-, LG- und anderen Geräten sein, die über diese raffinierte Funktion verfügen, die schon vor langer, langer Zeit in Android verfügbar sein sollte. Angesichts der jüngsten Welle der Unterstützung für die Idee RedditWir sind sicher, dass dies ein willkommenes Feature sein wird – wenn es irgendwann um Stock-Android geht.