如何知道设备何时充电?

设备充电时如何使iOS应用程序检测到?

这个怎么样。

UIDeviceBatteryState deviceBatteryState = [UIDevice currentDevice].batteryState; if (deviceBatteryState == UIDeviceBatteryStateCharging || deviceBatteryState == UIDeviceBatteryStateFull) { // It is charging } 

从苹果文档 ,

UIDeviceBatteryState:的电池电量状态。

 typedef enum { UIDeviceBatteryStateUnknown, UIDeviceBatteryStateUnplugged, UIDeviceBatteryStateCharging, UIDeviceBatteryStateFull, } UIDeviceBatteryState; 

UIDeviceBatteryStateUnknown:无法确定设备的电池状态。

UIDeviceBatteryStateUnplugged:设备未插入电源; 电池正在失去电力。

UIDeviceBatteryStateCharging:设备插入电源,电池电量低于100%。

UIDeviceBatteryStateFull:设备已插入电源,电池已充满电。


更新:

只是为了完全回答你的问题。 以下是如何检测充电器何时插入。有一个名为batteryMonitoringEnabled的属性。

batteryMonitoringEnabled:一个布尔值,指示是否启用电池监视(YES)(NO)

如果需要通知您的应用程序需要更改电池状态,或者要检查电池电量级别,请启用电池监控。

这个属性的默认值是NO ,它是:

  • 禁用发布与电池相关的通知
  • 禁用读取电池电量和电池状态的function

当电池电量发生变化时,这将会发布通知UIDeviceBatteryLevelDidChangeNotificationUIDeviceBatteryStateDidChangeNotification 。 您可以使用UIDeviceBatteryStateDidChangeNotification来检测充电器何时插入。