Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I check if the android phone is charging

Tags:

android

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.

like image 324
michael Avatar asked Sep 23 '11 23:09

michael


2 Answers

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

like image 63
Knickedi Avatar answered Sep 22 '22 18:09

Knickedi


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()

like image 29
Abhishek Dhotre Avatar answered Sep 19 '22 18:09

Abhishek Dhotre