Battery Status API
システムのバッテリーに関する情報を提供する バッテリー状態 API

バッテリー状態 API は、システムのバッテリー充電レベルに関する情報の提供、およびバッテリーレベルや充電状態が変化したときに発生するイベントによる通知を可能にします。

これは、バッテリーが消耗したときにバッテリー消費を減らすためアプリのリソース使用状況を調整したり、データを失わないためにバッテリーが切れる前に変更点を保存したりするために使用できます。


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

  battery.addEventListener("chargingchange", () => {
    updateChargeInfo();
  });
  function updateChargeInfo() {
    document.querySelector('#charging').innerText = `${battery.charging ? "充電中" : "放電中"}`;
  }

  battery.addEventListener("levelchange", () => {
    updateLevelInfo();
  });
  function updateLevelInfo() {
    document.querySelector('#level').innerText = `${battery.level * 100} %`;
  }

  battery.addEventListener("chargingtimechange", () => {
    updateChargingInfo();
  });
  function updateChargingInfo() {
    if (battery.chargingTime === Infinity) {
      document.querySelector('#chargingTime').innerText = '-';
    } else {
      document.querySelector('#chargingTime').innerText = `${battery.chargingTime} 秒`;
    }
  }

  battery.addEventListener("dischargingtimechange", () => {
    updateDischargingInfo();
  });
  function updateDischargingInfo() {
    if (battery.dischargingTime === Infinity) {
      document.querySelector('#dischargingTime').innerText = '-';
    } else {
      document.querySelector('#dischargingTime').innerText = `${battery.dischargingTime} 秒`;
    }
  }
});
      

battery.charging 現在充電されているかどうか
battery.level 現在の充電レベル
battery.chargingTime 完全に充電されるまでの残り時間
battery.dischargingTime 完全に放電されるまでの残り時間