A API Battery Status, mais conhecida como Battery API, fornece informações sobre o nível de carga da bateria presente no sistema e permite que você seja notificado por eventos que são enviados quando os níveis sofrem alterações. Isto pode ser usado para ajustar a utilização de recursos do seu aplicativo, reduzindo a quantidade de energia drenada por ele quando a bateria estiver em nível baixo, ou ainda para salvar mudanças antes da bateria acabar, prevenindo a perda de dados.
A API Battery Status API estende Window.navigator com uma propriedade Navigator.battery que é um objeto BatteryManager, e adiciona alguns novos eventos que você pode receber para monitorar o status da bateria.
Exemplo
Neste exemplo, nós observamos as mudanças em ambos os status de carregamento (se estamos ou não conectados e carregando) e para mudanças no nível da bateria. Isto é feito escutando pelos eventos chargingchange e levelchange, respectivamente.
var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery;
function updateBatteryStatus() {
console.log("Status da bateria: " + battery.level * 100 + " %");
if (battery.charging) {
console.log("A bateria está carregando");
}
}
battery.addEventListener("chargingchange", updateBatteryStatus);
battery.addEventListener("levelchange", updateBatteryStatus);
updateBatteryStatus();
Veja também o exemplo na especificação.
Especificações
| Especificação | Status | Comentário |
|---|---|---|
| Battery Status API | Candidate Recommendation | Especificação Inicial. |
Compatibilidade entre navegadores
| Funcionalidade | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Suporte básico | Não suportado Chrome para Android: crbug.com/135863 Chrome OS: crbug.com/122593 |
10 (10) moz [1] 16 (16) (sem prefixo) [2] |
Não suportado | Não suportado | Não suportado |
| Funcionalidade | Android | Chrome para Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Suporte básico | ? | Não suportado | 10.0 (10) moz [1] 16.0 (16) (sem prefixo) [2] |
Não suportado | Não suportado | Não suportado |
Notas para o Gecko
[1] Desabilitado por padrão no Firefox 10.0, mas pode ser habilitado alterando a preferência dom.battery.enabled para true. A partir do Firefox 11.0, mozBattery é habilitado por padrão.
[2] A Battery API é atualmente suportada no Android, Windows e Linux com UPower instalado. O suporte para MacOS está disponível a partir do Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15 / Firefox OS 1.0.1);