我正在编写一个Android应用程序。我想知道如何在我的应用程序启动时检查手机是否正在充电?
我已阅读此How to know if the phone is charging
但这只是注册并在手机充电状态发生变化时通知(从充电到停止充电,反之亦然)。但是,如果手机在我的应用程序启动时正在充电,我该如何处理?
我在android中查找了PowerManager和USBManager。也没有提供我需要的API。
谢谢。
答案 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()