Get battery charge percentage


To get the percentage of battery charge in an android device, we can use the following code:

BatteryManager bm=(BatteryManager)getSystemService(BATTERY_SERVICE);

int battery_percent = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);

The result battery_percent is an integer.


If we have a TextView textview1 on our page, to display the battery percentage in textview1 we can use following code:

textview1.setText(battery_percent + "%");


To check if battery status is full or not, following code can be used:

IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);

Intent batteryStatus = registerReceiver(null, ifilter);

int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);

if(status == BatteryManager.BATTERY_STATUS_FULL) {

Toast.makeText(getApplicationContext(),"Device is fully charged",Toast.LENGTH_LONG).show(); } else {

Toast.makeText(getApplicationContext(),"Device is not fully charged",Toast.LENGTH_LONG).show(); }

Apart from BATTERY_STATUS_FULL, other battery status integers which can be used include

BATTERY_STATUS_CHARGING

BATTERY_STATUS_DISCHARGING

BATTERY_STATUS_FULL

BATTERY_STATUS_NOT_CHARGING

BATTERY_STATUS_UNKNOWN

The codes can be used whenever you want to show the battery percentage. To show it as soon as app starts, put the code in onCreate event. To show it on button click, put the code in Button onClick event, etc.

To get the battery charging mode, use following code:

IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);

Intent batteryStatus = registerReceiver(null, ifilter);

int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1);

boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;

boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;

if(usbCharge){

Toast.makeText(getApplicationContext(),"Device charging through USB",Toast.LENGTH_LONG).show();

} else if(acCharge) {

Toast.makeText(getApplicationContext(),"Device charging through AC",Toast.LENGTH_LONG).show();

} else {

Toast.makeText(getApplicationContext(),"Device not charging",Toast.LENGTH_LONG).show();

}

This code can be used to find out if the device is charging or not.


To get the battery temperature use following code:

IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);

Intent batteryStatus = registerReceiver(null, ifilter);

int temp = batteryStatus.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0);

float tempTwo = ((float) temp) / 10;

textview1.setText(tempTwo + " °C");


Comments

  1. If you want to set a number or a string to the percentage of the battery you can do this:
    [variable name] = battery_percetage
    Put this in the same add source directly as the other code but under it

    ReplyDelete

Post a Comment

Popular posts from this blog

Create Music Player app in Sketchware

A Flash Light App in Sketchware

Admob rewarded video Ads in Sketchware

Firebase auth in Sketchware for Login Activity

Simple car racing android game in Sketchware