This is an event that fires when a Cordova application detects a change in the battery status.

window.addEventListener("batterystatus", yourCallbackFunction, false);


This event that fires when a Cordova application detects the percentage of battery has changed by at least 1 percent. It is also fired if the device has been plugged in or un-plugged.

The battery status handler will be called with an object that contains two properties:

  • level: The percentage of battery (0-100). (Number)
  • isPlugged: A boolean that represents whether or not the device is plugged in or not. (Boolean)

Typically, you will want to attach an event listener with window.addEventListener once you receive the Cordova 'deviceready' event.

Supported Platforms

  • iOS
  • Android
  • BlackBerry WebWorks (OS 5.0 and higher)
  • Windows Phone 7 and 8
  • Tizen

Windows Phone 7 and 8 Quirks

The level property is unavailable as Windows Phone 7 does not provide native APIs for determining battery level. The isPlugged parameter is supported.

Quick Example

window.addEventListener("batterystatus", onBatteryStatus, false);

function onBatteryStatus(info) {
    // Handle the online event
   	console.log("Level: " + info.level + " isPlugged: " + info.isPlugged); 

Full Example

<!DOCTYPE html>
    <title>Cordova Device Ready Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.3.0.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Call onDeviceReady when Cordova is loaded.
    // At this point, the document has loaded but cordova-2.3.0.js has not.
    // When Cordova is loaded and talking with the native device,
    // it will call the event `deviceready`.
    function onLoad() {
	    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is loaded and it is now safe to make calls Cordova methods
    function onDeviceReady() {
	    window.addEventListener("batterystatus", onBatteryStatus, false);

    // Handle the batterystatus event
    function onBatteryStatus(info) {
    	console.log("Level: " + info.level + " isPlugged: " + info.isPlugged); 
  <body onload="onLoad()">