Hi,
Lets have some fun in android!
Have you ever thought of displaying battery status in % when ever the battery status changes?
Yes!!! Lets do it in this post right now ;)
The approach for doing this is, Yes using BroadcastReceiver Register it to ask android to notify
you for every % of battery changes.
Use this function to accomplish it.
private void batteryLevel() {
BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
context.unregisterReceiver(this);
int rawlevel = intent.getIntExtra("level", -1);
int scale = intent.getIntExtra("scale", -1);
int level = -1;
if (rawlevel >= 0 && scale > 0) {
level = (rawlevel * 100) / scale;
}
batterLevel.setText("Battery Level Remaining: " + level + "%");
if(level<30)
Toast.makeText(getBaseContext(), "your battery is very low",
Toast.LENGTH_LONG).show();
else
Toast.makeText(getBaseContext(), "your battery is fine", Toast.LENGTH_LONG).show();
}
};
IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(batteryLevelReceiver, batteryLevelFilter);
}
Call this function and it will register receiver and it will be triggered when every battery level changes.
When battery level changes this receiver will be called and onRecieve() is the default method that gets executed and this function must be overridden.
We unregistered Broadcastreceiver to make sure the function is not interrupted while executing and then
at end of the function we register it again.
I have displayed low when battery level reaches below 30% and fine when it is above that.
Probably you can implement it in your custom way.
It doesn't require any changes in Manifest file.
The output will be like this
Have a doubt please comment.
You can download complete source code from here
Lets have some fun in android!
Have you ever thought of displaying battery status in % when ever the battery status changes?
Displaying Alert when battery level reaches below certain level?
Yes!!! Lets do it in this post right now ;)
The approach for doing this is, Yes using BroadcastReceiver Register it to ask android to notify
you for every % of battery changes.
Use this function to accomplish it.
private void batteryLevel() {
BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
context.unregisterReceiver(this);
int rawlevel = intent.getIntExtra("level", -1);
int scale = intent.getIntExtra("scale", -1);
int level = -1;
if (rawlevel >= 0 && scale > 0) {
level = (rawlevel * 100) / scale;
}
batterLevel.setText("Battery Level Remaining: " + level + "%");
if(level<30)
Toast.makeText(getBaseContext(), "your battery is very low",
Toast.LENGTH_LONG).show();
else
Toast.makeText(getBaseContext(), "your battery is fine", Toast.LENGTH_LONG).show();
}
};
IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(batteryLevelReceiver, batteryLevelFilter);
}
Call this function and it will register receiver and it will be triggered when every battery level changes.
When battery level changes this receiver will be called and onRecieve() is the default method that gets executed and this function must be overridden.
We unregistered Broadcastreceiver to make sure the function is not interrupted while executing and then
at end of the function we register it again.
I have displayed low when battery level reaches below 30% and fine when it is above that.
Probably you can implement it in your custom way.
It doesn't require any changes in Manifest file.
The output will be like this
Have a doubt please comment.
You can download complete source code from here