我正在编写一款Android应用程序。我想知道如何在应用启动时检查手机是否正在充电?
我已经阅读了如何知道手机是否在充电
但这只能在手机的充电状态发生变化(从充电到停止充电或反之)时进行注册并接收通知。但如果手机在我的应用程序启动时正在充电,我该怎么办呢?
我已经查找了Android中的PowerManager和USBManager。 但它们都没有提供我需要的API。
谢谢。
我正在编写一款Android应用程序。我想知道如何在应用启动时检查手机是否正在充电?
我已经阅读了如何知道手机是否在充电
但这只能在手机的充电状态发生变化(从充电到停止充电或反之)时进行注册并接收通知。但如果手机在我的应用程序启动时正在充电,我该怎么办呢?
我已经查找了Android中的PowerManager和USBManager。 但它们都没有提供我需要的API。
谢谢。
这个问题提供了您可能正在寻找的代码:事件ACTION_POWER_CONNECTED未发送到我的BroadcastReceiver
还有一个ACTION_POWER_DISCONNECTED操作。
这个问题表明广播是黏性的,因此即使您错过了广播也可以使用:Android SDK中的电池
BatteryManager myBatteryManager = (BatteryManager) context.getSystemService(Context.BATTERY_SERVICE);
public boolean isUSBCharging(){
return myBatteryManager.isCharging();
}
https://developer.android.com/reference/android/os/BatteryManager.html#isCharging()
Intent.ACTION_BATTERY_CHANGED
并从意图附加项中找出是否正在充电 isCharging = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0) != 0
。如果您需要在应用程序启动时了解它,不必担心,BroadcastReceiver
将在您注册它时接收到最新状态。 - user924