API de Battery Status
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Want more browser support for this feature? Tell us why.
Contexto seguro: Esta función está disponible solo en contextos seguros (HTTPS), en algunos o todos los navegadores que lo soportan.
La API de Battery Status, más comúnmente referida como la API de la baterÃa, proporciona información sobre el estado de carga de la baterÃa del sistema y te permite ser notificado por eventos que se envÃan cuando el nivel de la baterÃa o su estado de carga cambia. Esto se puede usar para ajustar el uso de recursos de tu aplicación para reducir el drenaje de baterÃa cuando es baja, o para guardar los cambios antes de que se acabe la baterÃa para prevenir pérdida de datos.
Nota:
Esta API no está disponible en los Web Workers (no se expone a través de WorkerNavigator).
Interfaces
BatteryManager-
Proporciona información sobre el nivel de carga de la baterÃa del sistema.
Extensiones a otras interfaces
-
Devuelve una
Promiseque se resuelve con un objetoBatteryManager.
Ejemplo
En este ejemplo, observamos los cambios en el estado de carga (esté o no enchufado y cargando) y en el nivel y la sincronización de la baterÃa. Esto se hace escuchando por los eventos chargingchange, levelchange, chargingtimechange y dischargingtimechange.
navigator.getBattery().then((battery) => {
function updateAllBatteryInfo() {
updateChargeInfo();
updateLevelInfo();
updateChargingInfo();
updateDischargingInfo();
}
updateAllBatteryInfo();
battery.addEventListener("chargingchange", () => {
updateChargeInfo();
});
function updateChargeInfo() {
console.log(`¿Cargándose la baterÃa? ${battery.charging ? "SÃ" : "No"}`);
}
battery.addEventListener("levelchange", () => {
updateLevelInfo();
});
function updateLevelInfo() {
console.log(`Nivel de la baterÃa: ${battery.level * 100} %`);
}
battery.addEventListener("chargingtimechange", () => {
updateChargingInfo();
});
function updateChargingInfo() {
console.log(
`Tiempo de carga de la baterÃa: ${battery.chargingTime} segundos`,
);
}
battery.addEventListener("dischargingtimechange", () => {
updateDischargingInfo();
});
function updateDischargingInfo() {
console.log(
`Tiempo de descarga de la baterÃa: ${battery.dischargingTime} segundos`,
);
}
});
Consulta también el ejemplo en la especificación.
Especificaciones
| Specification |
|---|
| Battery Status API > |