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
載入中…