BatteryAPI 만큼이나 자주 언급되는 Battery Status API는 시스템의 배터리 충전 상태에 대한 정보를 제공하고, 배터리 상태에 따라 발생하는 이벤트를 다룰 수 있도록 해 줍니다. 배터리가 얼마남지 않은 상황에서, 앱에서 배터리의 소모를 줄인다거나 배터리가 방전되기 전에 데이터를 저장하거나 하는 것들이 가능합니다.
Battery Status API 는 window.navigator.battery
를 제공 합니다. 이는 BatteryManager
객체이며 배터리 상태를 감시하고 전달받아 처리할 수 있는 이벤트를 가지고 있습니다.
예제
아래 예제에서는 배터리가 충전중인 상태 (전원 케이블을 연결하여 충전 중인지) 와 배터리 수준의 변화를 감시합니다. 각각 chargingchange
와 levelchange
이벤트가 발생하면 완료 됩니다.
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 specification. |
브라우저 호환
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | Not supported Chrome on Android: crbug.com/135863 Chrome OS: crbug.com/122593 |
10 (10) moz [1] 16 (16) (without prefix) [2] |
Not supported | Not supported | Not supported |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | ? | Not supported | 10.0 (10) moz [1] 16.0 (16) (without prefix) [2] |
Not supported | Not supported | Not supported |
Gecko notes
[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.
[2] 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 OS 1.0.1).