电池状态 API
电池状态 API(通常称为电池 API)提供有关系统电池电量的信息,并允许您通过在电池电量或充电状态发生变化时发送的事件来接收通知。这可以用于调整应用程序的资源使用情况,以在电池电量不足时减少电池消耗,或者在电池耗尽之前保存更改,以防止数据丢失。
注意: 此 API不可用于Web 工作线程(未通过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`);
}
});
另请参阅规范中的示例。
规范
规范 |
---|
电池状态 API |
浏览器兼容性
api.BatteryManager
BCD 表格仅在浏览器中加载
api.Navigator.getBattery
BCD 表格仅在浏览器中加载