Battery Status API

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die Battery Status API, häufiger als Battery API bezeichnet, stellt Informationen über den Ladezustand der Systembatterie bereit und ermöglicht es Ihnen, Benachrichtigungen über Ereignisse zu erhalten, die gesendet werden, wenn sich der Batteriestand oder der Ladezustand ändert. Dies kann verwendet werden, um die Ressourcennutzung Ihrer App anzupassen, um den Batterieverbrauch zu verringern, wenn die Batterie schwach ist, oder um Änderungen zu speichern, bevor die Batterie leer ist, um Datenverlust zu vermeiden.

Hinweis: Diese API ist nicht verfügbar in Web Workers (nicht über WorkerNavigator bereitgestellt).

Schnittstellen

BatteryManager

Bietet Informationen über den Ladezustand der Systembatterie.

Erweiterungen zu anderen Schnittstellen

Gibt ein Promise zurück, das mit einem BatteryManager-Objekt aufgelöst wird.

Beispiel

In diesem Beispiel überwachen wir Änderungen sowohl des Ladezustands (ob wir angesteckt und geladen sind oder nicht) als auch Änderungen des Batteriestands und der Zeit. Dies wird durch das Abhören der Ereignisse chargingchange, levelchange, chargingtimechange, dischargingtimechange erreicht.

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

  battery.addEventListener("chargingchange", () => {
    updateChargeInfo();
  });
  function updateChargeInfo() {
    console.log(`Battery charging? ${battery.charging ? "Yes" : "No"}`);
  }

  battery.addEventListener("levelchange", () => {
    updateLevelInfo();
  });
  function updateLevelInfo() {
    console.log(`Battery level: ${battery.level * 100}%`);
  }

  battery.addEventListener("chargingtimechange", () => {
    updateChargingInfo();
  });
  function updateChargingInfo() {
    console.log(`Battery charging time: ${battery.chargingTime} seconds`);
  }

  battery.addEventListener("dischargingtimechange", () => {
    updateDischargingInfo();
  });
  function updateDischargingInfo() {
    console.log(`Battery discharging time: ${battery.dischargingTime} seconds`);
  }
});

Siehe auch das Beispiel in der Spezifikation.

Spezifikationen

Specification
Battery Status API

Browser-Kompatibilität

api.BatteryManager

BCD tables only load in the browser

api.Navigator.getBattery

BCD tables only load in the browser

Siehe auch