Battery Status API
电池状态 API,更常被称为电池 API,提供了有关系统电池电量的信息,并允许您通过事件接收通知,这些事件在电池电量或充电状态发生变化时发送。这可用于在电池电量低时调整应用的资源使用以减少电池消耗,或在电池耗尽前保存更改以防止数据丢失。
注意: 此 API 在 Web Workers 中不可用(未通过 WorkerNavigator 暴露)。
接口
BatteryManager-
提供有关系统电池电量的信息。
其他接口的扩展
-
返回一个
Promise,它解析为一个BatteryManager对象。
示例
在此示例中,我们监听充电状态(是否插电和正在充电)的变化,以及电池电量和时间的变化。这是通过监听 chargingchange、levelchange、chargingtimechange、dischargingtimechange 事件来实现的。
js
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`);
}
});
另请参阅 规范中的示例。
规范
| 规范 |
|---|
| Battery Status API |
浏览器兼容性
api.BatteryManager
加载中…
api.Navigator.getBattery
加载中…