I am writing an android application. I would like to know how can I check if the phone is charging when my application starts?
I have read this How to know if the phone is charging
But this only register and get notified when there is a change in charging state of the phone (from charging to stop charging or vice versa). But what if the phone is charging when my application starts, how can I cover that case?
I have looked up PowerManager and USBManager in android. Neither has API which provides what I need.
Thank you.
This question provides the code you might be looking for: Event ACTION_POWER_CONNECTED is not sent to my BroadcastReceiver
There's also a ACTION_POWER_DISCONNECTED action.
This question is telling that the broadcast is sticky, so even available when you miss the broadcast: Android Battery in SDK
It has become much more simple API 23 onwards, you can check using an object of BatteryManger and call the isCharging function.
BatteryManager myBatteryManager = (BatteryManager) context.getSystemService(Context.BATTERY_SERVICE);
public boolean isUSBCharging(){
return myBatteryManager.isCharging();
}
https://developer.android.com/reference/android/os/BatteryManager.html#isCharging()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With