Spec-Zone.ru › Web APIs

API состояния батареи

Безопасный контекст: Данная функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

API состояния батареи, чаще называемый API батареи, предоставляет информацию о заряде батареи системы и позволяет получать уведомления об изменениях уровня заряда и состояния зарядки. Это может быть использовано для корректировки использования ресурсов приложения для уменьшения разряда батареи при низком заряде или для сохранения изменений перед разрядкой батареи, чтобы предотвратить потерю данных.

Примечание: Данный API не доступен в Web Workers (не экспонируется через WorkerNavigator).

Интерфейсы

BatteryManager

Предоставляет информацию об уровне заряда батареи системы.

Расширения других интерфейсов

Navigator.getBattery()

Возвращает Promise, который разрешается объектом BatteryManager.

Пример

В этом примере мы следим за изменениями состояния зарядки (подключена ли батарея к зарядке) и уровня заряда, а также за изменениями времени. Это делается путем прослушивания событий chargingchange, levelchange, chargingtimechange, dischargingtimechange.

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`);
  }
});

См. также пример в спецификации.

Спецификации

Спецификация
API состояния батареи

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
Battery_Status_API 38 79 43–52 25 Нет 38 43–52 25 Нет 3.0 38
secure_context_required 103 103 Нет Нет Нет 103 Нет 71 Нет 20.0 103
Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
Battery_Status_API 38 79 43–52 25 Нет 38 43–52 25 Нет 3.0 38
charging 38 79 43–52 25 Нет 38 43–52 25 Нет 3.0 38
chargingTime 38 79 43–52 25 Нет 42
38–42Всегда равно 0 или Infinity.
43–52 29
25–29Всегда равно 0 или Infinity.
Нет 4.0
3.0–4.0Всегда равно 0 или Infinity.
42
38–42Всегда равно 0 или Infinity.
chargingchange_event 38 79 43–52 25 Нет 38 43–52 25 Нет 3.0 38
chargingtimechange_event 38 79 43–52 25 Нет 38 43–52 25 Нет 3.0 38
dischargingTime 38 79 43–52 25 Нет 42
38–42Всегда равно Infinity.
43–52 29
25–29Всегда равно Infinity.
Нет 4.0
3.0–4.0Всегда равно Infinity.
42
38–42Всегда равно Infinity.
dischargingtimechange_event 38 79 43–52 25 Нет 38 43–52 25 Нет 3.0 38
level 38 79 43–52 25 Нет 38 43–52 25 Нет 3.0 38
levelchange_event 38 79 43–52 25 Нет 38 43–52 25 Нет 3.0 38
secure_context_required 103 103 Нет Нет Нет 103 Нет 71 Нет 20.0 103

api.BatteryManager

Таблицы BCD загружаются только в браузере

api.Navigator.getBattery

Таблицы BCD загружаются только в браузере

См. также

  • Блог-пост Hacks - Использование API батареи

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API