Mozilla Aurora 11부터 Firefox에 몇 가지 새로운 기능이 구현되었으며, 그 중 하나는 배터리 상태 인터페이스의 기본 구현입니다. 이 매우 간단한 인터페이스는 현재 배터리 수준, 충전 여부 및 일부 배터리 상태 변경 이벤트에 대한 정보를 제공할 수 있습니다. 효과를 보시죠!
배터리 객체는 window.navigator.battery에 저장되지만, Firefox에서 이 인터페이스를 구현하고 제공하는 것이 처음이기 때문에 아직 널리 사용되지는 않습니다. window.navigator.mozBattery를 사용해야 합니다. 이 mozBattery 객체에는 다음과 같은 속성이 있습니다:
1.충전 중: 현재 배터리 기기가 충전 중인지 여부를 나타냅니다. 배터리가 충전되지 않은 경우 이 값은 거짓입니다. true이면 배터리가 충전 중입니다. 현재 API 구현에서는 가득 찼는지 여부에 대한 정보를 얻을 수 없으며 현재 장치에 배터리가 있는지 확인할 수도 없습니다.
2.충전 시간: 배터리가 완전히 충전될 때까지 걸리는 시간을 나타냅니다.
3.dischargeTime: 배터리 사용 시간.
4.level: 0에서 1.0까지의 전력 수준을 나타냅니다. 이 값이 0이면 배터리가 소진되어 시스템이 곧 종료된다는 의미입니다. 1.0이면 배터리가 완전히 충전되었음을 의미합니다.
이러한 상태의 경우 인터페이스는 onchargechange, onchargetimechange, ondischargetimechange 및 onlevelchange를 포함한 해당 이벤트를 제공합니다. 기본 사용법은 매우 간단합니다.
// 유용한 속성 값 표시
console.warn("배터리 충전 상태: ", 배터리.충전) // true
console.warn("배터리 레벨: ", 배터리.레벨); // 0.58
console.warn("배터리 사용 시간: ", Battery.dischargeTime);
//일부 이벤트 리스너 설정
battery.addEventListener("chargechange", function(e) {
console.warn("배터리 충전 상태 변경: ", 배터리.충전);
} , false);
battery.addEventListener("chargetimechange", function(e) {
console.warn("배터리 충전 시간 변경: ", Battery.chargeTime);
}, false);
Battery.addEventListener("dischargetimechange", function(e) {
console.warn("배터리 시간 변경: ", Battery.dischargeTime);
}, false);
battery.addEventListener(" levelchange" , function(e) {
console.warn("배터리 잔량 변경: ", Battery.level);
}, false);
이러한 배터리 프로그래밍 인터페이스를 사용하는 이유는 무엇입니까? 브라우저와 함께 패키지된 많은 모바일 애플리케이션(비네이티브)은 시스템의 현재 상태를 알아야 하기 때문입니다. 일부 CPU는 전력에 매우 민감합니다. 특정 특수 작업을 처리하기 전에 장치는 전력이 부족하다는 사실을 사용자에게 미리 알려주어야 합니다.