API Battery Status

L'API Battery Status, souvent mentionnée sous le nom Battery API (l'API Battery), fournit des informations sur le niveau de charge du système et permet d'envoyer des événements pour prévenir d'un changement du niveau de charge de la batterie. Cela peut être utilisé pour ajuster la consommation d'une application et la réduire pour réduire l'utilisation de la batterie lorsque son niveau de charge est bas ou encore de sauvegarder les données quand la batterie est bientôt vide.

Note : Cette API n'est pas disponible dans les Web Workers (elle n'est pas exposée via WorkerNavigator).

Interfaces

BatteryManager

Fournit des informations sur le niveau de charge du système.

Renvoie un objet Promise dont la valeur de résolution est un objet BatteryManager.

Exemple

Dans cet exemple, on cherche à surveiller les changements, à la fois du statut de la charge (est-ce que l'équipement est branché et se recharge ou est ce que l'équipement est alimenté par sa batterie) et des changements du niveau de charge dans le temps. Cela se fait en surveillant les événements chargingchange, levelchange, chargingtimechange et dischargingtimechange.

js
navigator.getBattery().then((battery) => {
  function updateAllBatteryInfo() {
    updateChargeInfo();
    updateLevelInfo();
    updateChargingInfo();
    updateDischargingInfo();
  }
  updateAllBatteryInfo();

  battery.addEventListener("chargingchange", () => {
    updateChargeInfo();
  });
  function updateChargeInfo() {
    console.log("Battery en charge ? " + (battery.charging ? "Oui" : "Non"));
  }

  battery.addEventListener("levelchange", () => {
    updateLevelInfo();
  });
  function updateLevelInfo() {
    console.log("Niveau de batterie : " + battery.level * 100 + "%");
  }

  battery.addEventListener("chargingtimechange", () => {
    updateChargingInfo();
  });
  function updateChargingInfo() {
    console.log(
      "Temps avant charge de la batterie : " +
        battery.chargingTime +
        " secondes",
    );
  }

  battery.addEventListener("dischargingtimechange", () => {
    updateDischargingInfo();
  });
  function updateDischargingInfo() {
    console.log(
      "Autonomie sur batterie : " + battery.dischargingTime + " secondes",
    );
  }
});

Voir aussi l'exemple de la spécification.

Spécifications

Specification
Battery Status API

Compatibilité des navigateurs

api.BatteryManager

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
BatteryManager
charging
chargingTime
chargingchange event
chargingtimechange event
dischargingTime
dischargingtimechange event
level
levelchange event
Secure context required
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
Experimental. Expect behavior to change in the future.
Has more compatibility info.

api.Navigator.getBattery

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
getBattery
Secure context required
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.

Voir aussi