Battery Status API
Remarks#
-
Note that the Battery Status API is no longer available due to privacy reasons where it could be used by remote trackers for user fingerprinting.
-
The Battery Status API is an Application Programming Interface for the client’s battery status. It provides information on:
- battery charging state via
'chargingchange'event andbattery.charging; - battery level via
'levelchange'event andbattery.level; - charging time via
'chargingtimechange'event andbattery.chargingTime; - discharging time via
'dischargingtimechange'event andbattery.dischargingTime.
- battery charging state via
-
MDN Docs: https://developer.mozilla.org/en/docs/Web/API/Battery_status_API
Getting current battery level
// Get the battery API
navigator.getBattery().then(function(battery) {
// Battery level is between 0 and 1, so we multiply it by 100 to get in percents
console.log("Battery level: " + battery.level * 100 + "%");
});Is battery charging?
// Get the battery API
navigator.getBattery().then(function(battery) {
if (battery.charging) {
console.log("Battery is charging");
} else {
console.log("Battery is discharging");
}
});Get time left until battery is empty
// Get the battery API
navigator.getBattery().then(function(battery) {
console.log( "Battery will drain in ", battery.dischargingTime, " seconds" );
});Get time left until battery is fully charged
// Get the battery API
navigator.getBattery().then(function(battery) {
console.log( "Battery will get fully charged in ", battery.chargingTime, " seconds" );
});Battery Events
// Get the battery API
navigator.getBattery().then(function(battery) {
battery.addEventListener('chargingchange', function(){
console.log( 'New charging state: ', battery.charging );
});
battery.addEventListener('levelchange', function(){
console.log( 'New battery level: ', battery.level * 100 + "%" );
});
battery.addEventListener('chargingtimechange', function(){
console.log( 'New time left until full: ', battery.chargingTime, " seconds" );
});
battery.addEventListener('dischargingtimechange', function(){
console.log( 'New time left until empty: ', battery.dischargingTime, " seconds" );
});
});