Gli indicatori del livello della batteria Bluetooth stanno finalmente arrivando su Android

Gli indicatori del livello della batteria Bluetooth potrebbero finalmente arrivare su Android in modo che i dispositivi Google, Motorola e Sony possano ottenere il livello della batteria dei dispositivi collegati.

Una funzionalità davvero utile per quelli di noi che possiedono auricolari Bluetooth e altri dispositivi sta finalmente arrivando su AOSP: gli indicatori del livello della batteria Bluetooth. Ciò significa che dovrebbero esserlo gli utenti di Google, Motorola, Sony e altri dispositivi con software Android quasi stock in grado di indicare il livello della batteria dei propri dispositivi connessi tramite Bluetooth senza la necessità di terze parti applicazione. Non si sa esattamente come apparirà questo indicatore del livello della batteria Bluetooth nel suo stato finale, ma il L'esistenza di questa nuova API in AOSP significa che gli sviluppatori possono implementare gli indicatori della batteria Bluetooth comunque Piace.

Ora, per quelli di voi che utilizzano determinate ROM personalizzate (come LineageOS) o con dispositivi di determinati produttori (come quelli di Samsung, LG, Huawei, OnePlus o Xiaomi) questa non è una nuova funzionalità. Gli indicatori del livello della batteria per i dispositivi Bluetooth collegati sono supportati da anni su molte ROM personalizzate e dispositivi OEM di terze parti, ma ad esempio funzionalità è stata notevolmente assente nell'Android Open Source Project (AOSP), il che significa che qualsiasi telefono Google con firmware stock non supporterà Esso.

Indicatore del livello della batteria Samsung Bluetooth
Indicatore del livello della batteria Bluetooth OnePlus
Indicatore del livello della batteria Bluetooth LG

Gli utenti con dispositivi Bluetooth che hanno la fortuna di avere un'applicazione complementare disponibile su Google Play Store può recuperare le informazioni sul livello della batteria in questo modo, ma per il resto ce ne sono poche opzioni. Un'applicazione popolare sul Play Store chiamata Bastone ha tentato di aggiungere questa funzionalità, ma è piuttosto limitata nella gamma di dispositivi che può supportare (non per colpa di per sé) ed è anche noto per essere piuttosto difettoso (molti utenti segnalano frequenti disconnessioni Bluetooth).

BastoneSviluppatore: limite

Prezzo: gratuito.

2.8.

Scaricamento

Piuttosto che fare affidamento su applicazioni di terze parti che funzionano solo con un singolo dispositivo Bluetooth di tua proprietà o che supportano solo a manciata di dispositivi disponibili, sarebbe fantastico se Google intervenisse per offrire una funzionalità che è già disponibile su altri dispositivi anni. E infine, sembra che stiano facendo proprio questo.


API del livello della batteria Bluetooth in AOSP

Il Bluetooth Special Interest Group (Bluetooth SIG), l'organismo che vigila sugli standard per ogni iterazione Bluetooth, ha già definito un servizio Batteria (BAS) in GATT (Servizi di attributi generici), ma spetta a Bluetooth supportare BAS. Secondo alcuni nuovi commit che abbiamo trovato mentre scavavamo in AOSP, Google si sta preparando ad aggiungerne di nuovi API per "ottenere il livello della batteria del dispositivo remoto". In particolare si citano le seguenti integrazioni all'AOSP:

Aggiungi API per ottenere il livello della batteria del dispositivo remoto

  • Aggiungi l'API BluetoothDevice.getBatteryLevel() per recuperare le informazioni sul livello della batteria del dispositivo remoto
  • Aggiungi dispositivo Bluetooth. ACTION_BATTERY_LEVEL_CHANGED intento di notificare all'utente che il livello della batteria del dispositivo remoto è cambiato
  • Aggiungi metodi di servizio backend per BluetoothDevice.getBatteryLevel()
  • Aggiungi il campo del livello della batteria in DeviceProperties con getter e setter
  • Aggiungi il metodo updateBatteryLevel() in RemoteDevices
  • Aggiungi il metodo resetBatteryLevel() in RemoteDevices
  • Reimposta il livello della batteria per il dispositivo quando il dispositivo è disconnesso in aclStateChangeCallback() per garantire un intento BATTERY_LEVEL_CHANGED quando il dispositivo segnala per la prima volta le informazioni sul livello della batteria dopo la connessione
  • Aggiungi test per updateBatteryLevel() e resetBatteryLevel()

Da ciò possiamo vedere che Google aggiungerà un nuovo metodo nel file Dispositivo Bluetooth classe chiamata getBatteryLevel() che recupererà il livello corrente della batteria di un dispositivo connesso quando viene chiamata. Secondo la fonte codice, restituisce un valore compreso tra 0 e 100 (o -1 se il Bluetooth è disabilitato, il dispositivo è disconnesso o non supporta la segnalazione del livello della batteria). Ciò significa quindi che è possibile visualizzare il livello della batteria in un modo più informativo di una semplice barra. Uno sviluppatore potrebbe, ad esempio, mostrare una notifica o un widget con la percentuale esatta.

Ma non è tutto, un'applicazione che aderisce all'intento di trasmissione ACTION_BATTERY_LEVEL_CHANGED verrà avvisata quando il livello della batteria del dispositivo connesso cambia. Con un ricevitore di trasmissione, un'applicazione che ascolta i cambiamenti nello stato della batteria del dispositivo Bluetooth collegato sarà avvisato quando il livello della batteria cambia, quindi non sarà necessario implementare un servizio di polling in background persistente Tipo. Questo valore viene inviato come numero intero compreso tra 0 e 100% tramite l'intento extra EXTRA_BATTERY_LEVEL e il l'applicazione può distinguere tra i dispositivi connessi filtrando attraverso l'intento extra DISPOSITIVO_EXTRA.

Anche alcuni dispositivi che inviano informazioni sulla batteria in modo proprio, come quelli di Plantronics XEvento o quello di Apple VSC, sarà supportato. Si sta lavorando anche sulla segnalazione del livello della batteria Bluetooth Low Energy (BLE). supportato, anche se al momento è indicato come "impossibile unire".


Possibile funzionalità per Android 8.1?

Android O è ormai alle porte. IL quarta anteprima per sviluppatori è stato rilasciato di recente ed era principalmente finalizzato alla correzione di bug, anche se c'erano alcune piccole modifiche all'interfaccia utente qua e là. Tuttavia, Google ha annunciato che terza anteprima per sviluppatori presentava tutte le API Android O finalizzate che gli sviluppatori possono utilizzare per prepararsi alla prossima versione di Android. Pertanto, ciò significa che la nuova API di reporting del livello della batteria Bluetooth connessa non arriverà alla prima versione di Android O - Android 8.0.

Tuttavia, ciò non significa che non arriverà. È possibile che Google introduca ufficialmente questa API (quando sarà effettivamente terminata) con l'eventuale rilascio di Android 8.1. Allo stesso tempo, potrebbero anche decidere di supportare questa funzionalità tramite il Androide Biblioteca di supporto, portandolo alle versioni precedenti di Android. Se ciò dovesse accadere, gli utenti non dovranno aspettare mesi per usufruire di tale funzionalità (anche se incoraggiamo sempre gli utenti a provare una delle tante ROM personalizzate disponibili sui nostri fantastici forum).

Tuttavia, questa dovrebbe essere una notizia entusiasmante per i fan del software stock sul proprio telefono. Speriamo che non dovrai essere geloso degli utenti con Apple, Samsung, Huawei, LG e altri dispositivi dotati di questa elegante funzionalità che avrebbe dovuto essere disponibile su Android molto, molto tempo fa. Considerata la recente ondata di sostegno all'idea in poi Reddit, siamo sicuri che questa sarà una funzionalità gradita, quando alla fine arriverà Android di serie.