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, liefert Informationen über den Ladezustand des Akkusystems und ermöglicht es Ihnen, durch Ereignisse benachrichtigt zu werden, die gesendet werden, wenn sich der Batteriestand oder der Ladezustand ändert. Dies kann verwendet werden, um die Ressourcennutzung Ihrer App anzupassen, um den Batterieabfluss zu verringern, wenn der Batteriestand niedrig ist, oder um Änderungen zu speichern, bevor der Akku leer ist, um Datenverlust zu verhindern.

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

Schnittstellen

BatteryManager

Liefert Informationen über den Ladezustand des Akkusystems.

Erweiterungen für andere Schnittstellen

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

Beispiel

In diesem Beispiel überwachen wir sowohl Änderungen des Ladezustands (ob wir angeschlossen und aufgeladen werden) als auch Änderungen des Batteriestands und der Zeit. Dies geschieht, indem wir auf die Ereignisse chargingchange, levelchange, chargingtimechange, dischargingtimechange lauschen.

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

api.Navigator.getBattery

Siehe auch