API de Estado de Bateria

Obsoleto: Esta característica ya no se recomienda. Aunque es posible que algunos navegadores aún lo admitan, probablemente ya se ha eliminado de los estándares web relevantes, está en proceso de eliminación o solo se conserva por motivos de compatibilidad. Evite usarlo y actualice el código existente si es posible; consulte la tabla de compatibilidad en la parte inferior de esta página para orientar su decisión. Tenga en cuenta que esta característica puede dejar de funcionar en cualquier momento.

La API de Estado de Batería, también conocida como "Battery API", provee información acerca del sistema de carga de la batería y permite notificar mediante eventos que son enviados cuando el nivel de la batería cambia. Este puede ser usado para ajustar el uso de recursos por parte de una aplicación y evitar un gasto innecesario de energía cuando la batería esta baja o para guardar cambios en un archivo antes de que la batería se agote y así prevenir perdida de información.

Nota: Esta API no está disponible en los Web Workers (no está expuesta en WorkerNavigator).

Interfaces

BatteryManager

Provee información acerca del nivel de carga de batería del sistema.

Retorna una Promise que se resuelve con un objeto BatteryManager.

Ejemplo

En este ejemplo, observamos los cambios en el estado de la carga (este o no conectado y cargando) y en el nivel de la batería. Esto se hace escuchando los eventos chargingchange, levelchange, chargingtimechange y dischargingtimechange.

js
navigator.getBattery().then(function (battery) {
  function updateAllBatteryInfo() {
    updateChargeInfo();
    updateLevelInfo();
    updateChargingInfo();
    updateDischargingInfo();
  }
  updateAllBatteryInfo();

  battery.addEventListener("chargingchange", function () {
    updateChargeInfo();
  });
  function updateChargeInfo() {
    console.log(
      "La batería esta cargando? " + (battery.charging ? "Si" : "No"),
    );
  }

  battery.addEventListener("levelchange", function () {
    updateLevelInfo();
  });
  function updateLevelInfo() {
    console.log("Nivel de la batería: " + battery.level * 100 + "%");
  }

  battery.addEventListener("chargingtimechange", function () {
    updateChargingInfo();
  });
  function updateChargingInfo() {
    console.log(
      "Tiempo de carga de la batería: " + battery.chargingTime + " segundos",
    );
  }

  battery.addEventListener("dischargingtimechange", function () {
    updateDischargingInfo();
  });
  function updateDischargingInfo() {
    console.log(
      "Tiempo de descarga de la batería: " +
        battery.dischargingTime +
        " segundos",
    );
  }
});

Vea también: El ejemplo en las especificaciones.

Especificaciones

Specification
Battery Status API

Compatibilidad del Navegador

api.BatteryManager

BCD tables only load in the browser

api.Navigator.getBattery

BCD tables only load in the browser

Vea también