Battery Status API

Obsolete: This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

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 Candidata a Recomendação Especificação Inicial.

Compatibilidade com navegadores

Estamos convertendo nossos dados de compatibilidade para o formato JSON. Esta tabela de compatibilidade ainda usa o formato antigo, pois ainda não convertemos os dados que ela contém. Descubra como você pode ajudar! (en-US)

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 (en-US) [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 (en-US) [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);

Veja também