简体   繁体   中英

How can I check if the android phone is charging

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM