The getBattery()
method provides information about the system's battery. It returns a battery promise, which is resolved in a BatteryManager
object providing also some new events you can handle to monitor the battery status. This implements the Battery Status API; see that documentation for additional details, a guide to using the API, and sample code.
A Promise
which, when resolved, calls its fulfillment handler with a single parameter: a BatteryManager
object which you can use to get information about the battery's state.
This method doesn't throw true exceptions; instead, it rejects the returned promise, passing into it a DOMException
whose name
is one of the following:
-
SecurityError
-
The User Agent does not expose battery information to insecure contexts and this method was called from insecure context.
Note: Old versions of some User Agents might allow use of this feature in insecure contexts.
-
NotAllowedError
-
No User Agent currently throws this exception, but the specification describes the following behaviors:
This document is not allowed to use this feature. For example, it might not be explicitly allowed or restricted via Feature-Policy
battery
feature.
This example fetches the current charging state of the battery and establishes a handler for the chargingchange
event, so that the charging state is recorded whenever it changes.
let batteryIsCharging = false;
navigator.getBattery().then(function(battery) {
batteryIsCharging = battery.charging;
battery.addEventListener('chargingchange', function() {
batteryIsCharging = battery.charging;
});
});
For more examples and details, see Battery Status API.