BatteryAPI 만큼이나 자주 언급되는 Battery Status API는 시스템의 배터리 충전 상태에 대한 정보를 제공하고, 배터리 상태에 따라 발생하는 이벤트를 다룰 수 있도록 해 줍니다. 배터리가 얼마남지 않은 상황에서, 앱에서 배터리의 소모를 줄인다거나 배터리가 방전되기 전에 데이터를 저장하거나 하는 것들이 가능합니다.

Battery Status API 는 window.navigator.battery 를 제공 합니다. 이는 BatteryManager 객체이며 배터리 상태를 감시하고 전달받아 처리할 수 있는 이벤트를 가지고 있습니다.

예제

아래 예제에서는 배터리가 충전중인 상태 (전원 케이블을 연결하여 충전 중인지) 와 배터리 수준의 변화를 감시합니다. 각각 chargingchangelevelchange 이벤트가 발생하면 완료 됩니다.

var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery;

function updateBatteryStatus() {
  console.log("Battery status: " + battery.level * 100 + " %");

  if (battery.charging) {
    console.log("Battery is charging"); 
  }
}

battery.addEventListener("chargingchange", updateBatteryStatus);
battery.addEventListener("levelchange", updateBatteryStatus);
updateBatteryStatus();

명세서의 예제도 확인해보세요.

 

명세

Specification Status Comment
Battery Status API Candidate Recommendation Initial definition

 

브라우저 호환

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 39.0 10 (10) moz
16 (16)[1]
52 (52)[3]
No support 25 No support
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support 40.0 10.0 (10) moz
16.0 (16)[1]
52.0 (52)[3]
No support 25[2] No support 42.0[2]

[1] Disabled by default in Firefox 10.0, but can be enabled setting the preference dom.battery.enabled to true. Starting with Firefox 11.0, mozBattery is enabled by default. The Battery API is currently supported on Android, Windows, and Linux with UPower installed. Support for MacOS is available starting with Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15). Firefox also provide support for the deprecated navigator.battery.

[2] Values for BatteryManager.chargingTime and BatteryManager.dischargingTime are always equal to Infinity.

[3] From Firefox 52 onwards, the Battery Status API is only available in chrome/privileged code.

참고

문서 태그 및 공헌자

이 페이지의 공헌자: oohii
최종 변경: oohii,