如何检查Android手机是否正在充电

时间:2011-09-23 23:05:49

标签: android

我正在编写一个Android应用程序。我想知道如何在我的应用程序启动时检查手机是否正在充电?

我已阅读此How to know if the phone is charging

但这只是注册并在手机充电状态发生变化时通知(从充电到停止充电,反之亦然)。但是,如果手机在我的应用程序启动时正在充电,我该如何处理?

我在android中查找了PowerManager和USBManager。也没有提供我需要的API。

谢谢。

2 个答案:

答案 0 :(得分:9)

此问题提供了您可能正在寻找的代码:Event ACTION_POWER_CONNECTED is not sent to my BroadcastReceiver

还有一个ACTION_POWER_DISCONNECTED动作。

这个问题告诉我们广播是粘性的,所以即使你错过广播也可以使用:Android Battery in SDK

答案 1 :(得分:0)

从API 23开始变得更加简单,您可以使用BatteryManger的对象进行检查并调用isCharging函数。

BatteryManager myBatteryManager = (BatteryManager) context.getSystemService(Context.BATTERY_SERVICE);

public boolean isUSBCharging(){
   return  myBatteryManager.isCharging();
}

https://developer.android.com/reference/android/os/BatteryManager.html#isCharging()