Bluetooth-batterinivåindikatorer kan äntligen komma till lager Android så att Google-, Motorola- och Sony-enheter kan få batterinivån för anslutna enheter.
En riktigt användbar funktion för de av oss med Bluetooth-headset och andra enheter är äntligen på väg till AOSP: Bluetooth-batterinivåindikatorer. Detta innebär att användare av Google, Motorola, Sony och andra enheter med nära lager Android-programvara bör vara kunna berätta batterinivån för sina Bluetooth-anslutna enheter utan att behöva en tredje part Ansökan. Det finns inget att säga exakt hur denna Bluetooth-batterinivåindikator kommer att se ut i sitt slutliga tillstånd, men existensen av detta nya API i AOSP innebär att utvecklare kan implementera Bluetooth-batteriindikatorer hur de än är tycka om.
Nu, för er på vissa anpassade ROM-skivor (som LineageOS) eller med enheter från vissa tillverkare (som de från Samsung, LG, Huawei, OnePlus eller Xiaomi) är detta ingen ny funktion. Batterinivåindikatorer för anslutna Bluetooth-enheter har stötts på många anpassade ROM-skivor och OEM-enheter från tredje part i åratal, men en Funktionen har särskilt saknats i Android Open Source Project (AOSP), vilket innebär att alla Google-telefoner på den fasta programvaran inte stöder Det.
Användare med Bluetooth-enheter som har turen att ha en medföljande applikation tillgänglig på Google Play Store kan hämta batterinivåinformation på det sättet, men annars är det få alternativ. En populär applikation i Play Butik som heter Batong försökte lägga till den här funktionen, men det är ganska begränsat i vilket antal enheter den kan stödja (utan fel sin egen) och är också känd för att vara ganska buggig (med många användare som rapporterar frekvent frånkoppling av Bluetooth).
Pris: Gratis.
2.8.
Istället för att lita på tredjepartsapplikationer som antingen bara fungerar med en enda Bluetooth-enhet som du äger eller som bara stöder en handfull enheter där ute, det skulle vara bra om Google gick in för att erbjuda en funktion som har varit tillgänglig på andra enheter för år. Och slutligen, det ser ut som att de gör just det.
Bluetooth Battery Level APIs i AOSP
Bluetooth Special Interest Group (Bluetooth SIG), organet som övervakar standarderna för varje Bluetooth-iteration, har redan definierat en batteritjänst (BAS) i GATT (Generiska attributtjänster), men det är upp till Bluetooth att stödja BAS. Enligt några nya åtaganden vi hittade när vi grävde igenom AOSP, förbereder Google sig för att lägga till nya API: er för att "få fjärrenhetens batterinivå." De nämner särskilt följande tillägg till AOSP:
Lägg till API: er för att få fjärrenhetens batterinivå
- Lägg till BluetoothDevice.getBatteryLevel() API för att hämta batterinivåinformation för fjärrenhet
- Lägg till Bluetooth-enhet. ACTION_BATTERY_LEVEL_CHANGED avsikt att meddela användaren att fjärrenhetens batterinivå har ändrats
- Lägg till backend-tjänstmetoder för BluetoothDevice.getBatteryLevel()
- Lägg till batterinivåfält i DeviceProperties med getters och seters
- Lägg till metoden updateBatteryLevel() i RemoteDevices
- Lägg till metoden resetBatteryLevel() i RemoteDevices
- Återställ batterinivån för enheten när enheten är frånkopplad i aclStateChangeCallback() för att säkerställa en BATTERY_LEVEL_CHANGED avsikt när enheten först rapporterar batterinivåinformation efter anslutning
- Lägg till tester för updateBatteryLevel() och resetBatteryLevel()
Av detta kan vi se att Google kommer att lägga till en ny metod i Bluetooth-enhet klass som heter getBatteryLevel() som kommer att hämta den aktuella batterinivån för en ansluten enhet när den anropas. Enligt källan koda, returnerar detta ett värde mellan 0 och 100 (eller -1 om Bluetooth är inaktiverat, enheten är frånkopplad eller inte stöder rapportering av dess batterinivå). Detta betyder alltså att det är möjligt för batterinivån att visas på ett sätt som är mer informativt än en enkel stapel. En utvecklare kan till exempel visa ett meddelande eller en widget med den exakta procentandelen.
Men det är inte allt, ett program som prenumererar på ACTION_BATTERY_LEVEL_CHANGED sändningsavsikten kommer att meddelas när den anslutna enhetens batterinivå har ändrats. Med en sändningsmottagare kommer en applikation som lyssnar efter ändringar i den anslutna Bluetooth-enhetens batteristatus att vara meddelas när batterinivån har ändrats, så det kommer inte att finnas något behov av att implementera en beständig bakgrundsundersökningstjänst av någon snäll. Detta värde skickas som ett heltal mellan 0 och 100 % genom intent extra EXTRA_BATTERY_LEVEL, och applikationen kan skilja mellan anslutna enheter genom att filtrera igenom avsikten extra EXTRA_DEVICE.
Även vissa enheter som skickar batteriinformation på sitt eget sätt, som Plantronics XEvent eller Apples VSC, kommer också att stödjas. Det pågår också arbete med att rapportera Bluetooth Low Energy (BLE) batterinivå stöds, även om detta är listat som "kan inte slås samman" för tillfället.
Möjlig funktion för Android 8.1?
Android O är nästan över oss. De fjärde utvecklarförhandsgranskningen släpptes nyligen och var mest inriktat på buggfixar, även om det fanns några mindre UI-justeringar här och där. Google meddelade dock att tredje förhandsvisning av utvecklare innehöll alla färdiga Android O API: er som utvecklare kan använda för att göra sig redo för nästa version av Android. Som sådan betyder detta att det nya anslutna Bluetooth-batterinivårapporterings-API: et inte kommer att ta sig till den första versionen av Android O - Android 8.0.
Det betyder dock inte att den inte kommer. Det är möjligt att Google kommer att introducera detta API officiellt (när det faktiskt är färdigt) med det slutliga utgåvan av Android 8.1. Samtidigt kan de till och med bestämma sig för att få den här funktionen att stödja via Android Supportbibliotek, vilket tar den till tidigare Android-versioner. Om det slutar med att hända kommer användare inte att behöva vänta i månader för att njuta av en sådan funktion (även om vi alltid uppmuntrar användare att prova en av de många anpassade ROM som finns på våra fantastiska forum).
Ändå borde detta vara spännande nyheter för fans av aktieprogramvaran på sin telefon. Förhoppningsvis behöver du inte vara avundsjuk på användare med Apple, Samsung, Huawei, LG och andra enheter med denna fiffiga funktion som borde ha varit tillgänglig i Android för länge, länge sedan. Med tanke på det senaste utflödet av stöd för idén Reddit, vi är säkra på att detta kommer att vara en välkommen funktion - när det så småningom kommer till lager Android.