Skip to main content

Battery Status

This plugin provides an implementation of an old version of the Battery Status Events API.

Online documentation

Cordova documentation

Installation

Cordova

cordova plugin add cordova-plugin-battery-status
npm install @awesome-cordova-library/batterystatus

Capacitor / Ionic

npm install cordova-plugin-battery-status
npm install @awesome-cordova-library/batterystatus
npx cap sync

Vanilla

Declaration

class BatteryStatus {
/**
* Fires when the battery charge percentage changes by at least 1 percent, or when the device is plugged in or unplugged. Returns an object containing battery status.
* @param callback {(batterystatus: BatteryStatusType) => void}
*/
static onBatteryStatus(
callback: (batterystatus: BatteryStatusType) => void
): void;
/**
* Fires when the battery charge percentage changes by at least 1 percent, or when the device is plugged in or unplugged. Returns an object containing battery status.
* @param callback {(batterystatus: BatteryStatusType) => void}
*/
static onBatteryStatusWeb(
callback: (batterystatus: BatteryStatusType) => void
): void;
/**
* Fires when the battery charge percentage reaches the low charge threshold. This threshold value is device-specific.
* Incompatible without cordova
* @param callback {(batterystatus: BatteryStatusType) => void}
*/
static onBatteryLow(
callback: (batterystatus: BatteryStatusType) => void
): void;
/**
* Fires when the battery charge percentage reaches the critical charge threshold. This threshold value is device-specific.
* Incompatible without cordova
* @param callback {(batterystatus: BatteryStatusType) => void}
*/
static onBatteryCritical(
callback: (batterystatus: BatteryStatusType) => void
): void;
}

Usages

import BatteryStatus from "@awesome-cordova-library/batterystatus";

BatteryStatus.onBatteryStatus((batterystatus) => {
console.log(
`Battery is plugged: ${batterystatus.isPlugged} // Battery level: ${batterystatus.level}`
);
});

React

Declaration

const useBatteryStatus: () => {
onBatteryStatus: (
callback: (batterystatus: BatteryStatusType) => void
) => void;
onBatteryLow: (callback: (batterystatus: BatteryStatusType) => void) => void;
onBatteryCritical: (
callback: (batterystatus: BatteryStatusType) => void
) => void;
};

Usages

import { useEffect, useState } from "react";
import { BatteryStatusType } from "@awesome-cordova-library/batterystatus";
import useBatteryStatus from "@awesome-cordova-library/batterystatus/lib/react";

function App() {
const [batteryStatus, setBatteryStatus] = useState<BatteryStatusType>();
const { onBatteryStatus } = useBatteryStatus();

useEffect(() => {
onBatteryStatus((batterystatus) => {
setBatteryStatus(batterystatus);
});
}, [onBatteryStatus]);

return (
<div>
<p>Battery Is plugged: {String(batteryStatus?.isPlugged)}</p>
<p>Battery level: {batteryStatus?.level}</p>
</div>
);
}