Bluetooth-batterijniveau-indicatoren kunnen eindelijk op Android worden geleverd, zodat Google-, Motorola- en Sony-apparaten het batterijniveau van aangesloten apparaten kunnen achterhalen.
Een heel nuttige functie voor degenen onder ons met Bluetooth-headsets en andere apparaten vindt eindelijk zijn weg naar AOSP: Bluetooth-batterijniveau-indicatoren. Dit betekent dat gebruikers van Google, Motorola, Sony en andere apparaten met Android-software bijna op voorraad moeten zijn kunnen het batterijniveau van hun via Bluetooth verbonden apparaten zien zonder dat er een derde partij nodig is sollicitatie. Het is niet precies te zeggen hoe deze Bluetooth-batterijniveau-indicator in zijn uiteindelijke staat zal verschijnen, maar de Het bestaan van deze nieuwe API in AOSP betekent dat ontwikkelaars Bluetooth-batterij-indicatoren op welke manier dan ook kunnen implementeren leuk vinden.
Voor degenen onder u die bepaalde aangepaste ROM's gebruiken (zoals LineageOS) of met apparaten van bepaalde fabrikanten (zoals die van Samsung, LG, Huawei, OnePlus of Xiaomi) is dit geen nieuwe functie. Batterijniveau-indicatoren voor aangesloten Bluetooth-apparaten worden al jaren ondersteund op veel aangepaste ROM's en OEM-apparaten van derden, maar zo'n -functie ontbreekt met name in het Android Open Source Project (AOSP), wat betekent dat elke Google-telefoon op de standaardfirmware deze niet ondersteunt Het.
Gebruikers met Bluetooth-apparaten die het geluk hebben dat er een begeleidende applicatie beschikbaar is op de Google Play Store kan op die manier informatie over het batterijniveau ophalen, maar verder zijn er maar weinig opties. Een populaire applicatie in de Play Store genaamd BatON geprobeerd deze functie toe te voegen, maar het is vrij beperkt in het aantal apparaten dat het kan ondersteunen (zonder enige fout van zichzelf) en staat ook bekend als behoorlijk buggy (waarbij veel gebruikers melden dat de Bluetooth-verbinding regelmatig wordt verbroken).
Prijs: gratis.
2.8.
In plaats van te vertrouwen op toepassingen van derden die alleen werken met een enkel Bluetooth-apparaat dat u bezit of die alleen een Bluetooth-apparaat ondersteunen Er zijn nog maar weinig apparaten beschikbaar, maar het zou geweldig zijn als Google zou ingrijpen en een functie zou aanbieden die al op andere apparaten beschikbaar is jaren. En ten slotte lijkt het erop dat ze precies dat doen.
Bluetooth-batterijniveau-API's in AOSP
De Bluetooth Special Interest Group (Bluetooth SIG), de instantie die toezicht houdt op de standaarden voor elke Bluetooth-iteratie, heeft al een batterijservice (BAS) gedefinieerd in GATT (Generic Attributes-services), maar het is aan Bluetooth om BAS te ondersteunen. Volgens enkele nieuwe commits die we hebben gevonden tijdens het doorzoeken van AOSP, bereidt Google zich voor om nieuwe toe te voegen API's om "het batterijniveau van het externe apparaat te achterhalen." In het bijzonder vermelden zij de volgende toevoegingen aan AOSP:
Voeg API's toe om het batterijniveau van het externe apparaat te achterhalen
- Voeg BluetoothDevice.getBatteryLevel() API toe om informatie over het batterijniveau van een extern apparaat op te halen
- Bluetooth-apparaat toevoegen. ACTION_BATTERY_LEVEL_CHANGED is van plan de gebruiker te informeren dat het batterijniveau van het externe apparaat is gewijzigd
- Voeg backend-servicemethoden toe voor BluetoothDevice.getBatteryLevel()
- Voeg een batterijniveauveld toe in DeviceProperties met getters en setters
- Voeg de methode updateBatteryLevel() toe aan RemoteDevices
- Voeg de methode resetBatteryLevel() toe in RemoteDevices
- Reset het batterijniveau voor het apparaat wanneer het apparaat wordt losgekoppeld in aclStateChangeCallback() om een BATTERY_LEVEL_CHANGED-intentie te garanderen wanneer het apparaat voor het eerst informatie over het batterijniveau rapporteert na verbinding
- Tests toevoegen voor updateBatteryLevel() en resetBatteryLevel()
Hieruit kunnen we zien dat Google een nieuwe methode zal toevoegen in de Bluetooth-apparaat klasse genaamd getBatteryLevel() die het huidige batterijniveau van een aangesloten apparaat ophaalt wanneer het wordt aangeroepen. Volgens de bron code, retourneert dit een waarde tussen 0 en 100 (of -1 als Bluetooth is uitgeschakeld, de verbinding met het apparaat is verbroken of het rapporteren van het batterijniveau niet wordt ondersteund). Dit betekent dus dat het mogelijk is dat het batterijniveau wordt weergegeven op een manier die informatiever is dan een eenvoudige balk. Een ontwikkelaar kan bijvoorbeeld een melding of widget tonen met het exacte percentage.
Maar dat is nog niet alles: een applicatie die zich abonneert op de ACTION_BATTERY_LEVEL_CHANGED uitzendintentie krijgt een melding wanneer het batterijniveau van het aangesloten apparaat is gewijzigd. Bij een omroepontvanger zal een applicatie luisteren naar veranderingen in de batterijstatus van het verbonden Bluetooth-apparaat gewaarschuwd wanneer het batterijniveau is veranderd, zodat het niet nodig is om een permanente achtergrondonderzoeksservice te implementeren vriendelijk. Deze waarde wordt verzonden als een geheel getal tussen 0 en 100% via de intentie extra EXTRA_BATTERY_LEVEL, en de applicatie kan onderscheid maken tussen aangesloten apparaten door te filteren op de intentie extra EXTRA_DEVICE.
Zelfs bepaalde apparaten die op hun eigen manier batterij-informatie verzenden, zoals Plantronics' XEvenement of die van Apple VSC, zal ook worden ondersteund. Er wordt ook gewerkt aan Bluetooth Low Energy (BLE)-rapportage over het batterijniveau ondersteund, hoewel dit momenteel wordt vermeld als "kan niet worden samengevoegd".
Mogelijke functie voor Android 8.1?
Android O staat voor de deur. De vierde Developer Preview is onlangs uitgebracht en was vooral gericht op het oplossen van bugs, hoewel er hier en daar een paar kleine aanpassingen aan de gebruikersinterface waren. Google heeft echter aangekondigd dat de derde Developer Preview bevatte alle definitieve Android O API's die ontwikkelaars kunnen gebruiken om zich voor te bereiden op de volgende versie van Android. Als zodanig betekent dit dat de nieuwe verbonden Bluetooth-rapportage-API voor batterijniveau niet zijn weg zal vinden naar de eerste release van Android O - Android 8.0.
Dat betekent echter niet dat het niet zal komen. Het is mogelijk dat Google deze API officieel zal introduceren (wanneer deze daadwerkelijk klaar is) met de uiteindelijke versie release van Android 8.1. Tegelijkertijd kunnen ze zelfs besluiten om deze functie te laten ondersteunen via de Android Ondersteuning Bibliotheek, waardoor het naar eerdere Android-versies wordt gebracht. Als dat gebeurt, hoeven gebruikers geen maanden te wachten om van zo'n functie te genieten (hoewel we gebruikers altijd aanmoedigen om een van de vele aangepaste ROM's uit te proberen die beschikbaar zijn op onze geweldige forums).
Desalniettemin zou dit opwindend nieuws moeten zijn voor fans van de stocksoftware op hun telefoon. Hopelijk hoef je niet jaloers te zijn op gebruikers van Apple, Samsung, Huawei, LG en andere apparaten met deze handige functie die al heel lang geleden beschikbaar had moeten zijn in Android. Gezien de recente stroom van steun voor het idee Reddit, we zijn er zeker van dat dit een welkome functie zal zijn - als het uiteindelijk om stock-Android gaat.