Skip to content

Battery API知识点梳理

Battery Status API,通常被称为 Battery API,提供有关系统电池电量水平的信息,并让你在电池电量或充电状态发生变化时收到触发的事件通知。这可用于调整应用程序的资源使用情况,以在电池电量不足时减少电池消耗,或在电池电量耗尽之前保存更改以防止数据丢失。

javascript
navigator.getBattery().then((battery) => {
  console.log(battery);

  function updateAllBatteryInfo() {
    updateChargeInfo();
    updateLevelInfo();
    updateChargingInfo();
    updateDischargingInfo();
  }
  updateAllBatteryInfo();

  // 电池状态变化事件:指示当前电池是否正在充电
  battery.addEventListener("chargingchange", () => {
    updateChargeInfo();
  });
  function updateChargeInfo() {
    console.log(`电池是否充电中?${battery.charging ? "是" : "否"}`);
  }

  // 电池电量变化事件:表示系统的电池电量水平的数字,其值介于 0.0 和 1.0 之间
  battery.addEventListener("levelchange", () => {
    updateLevelInfo();
  });
  function updateLevelInfo() {
    console.log(`电池电量:${battery.level * 100}%`);
  }

  // 电池充电时间变化事件:电池距离充电完毕还需多少秒的数字,或为 0 则表示电池已充电完毕
  battery.addEventListener("chargingtimechange", () => {
    updateChargingInfo();
  });
  function updateChargingInfo() {
    console.log(`电池充电时间:${battery.chargingTime}秒`);
  }

  // 电池续航时间变化事件:距离电池完全耗电且系统挂起需要多少秒的数字
  battery.addEventListener("dischargingtimechange", () => {
    updateDischargingInfo();
  });
  function updateDischargingInfo() {
    console.log(`电池续航时间:${battery.dischargingTime}秒`);
  }
});

Designed & Powerd by liujun