12

如何让我的 iOS 应用检测设备何时充电?

4

1 回答 1

25

这个怎么样。

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: 设备已插入电源并且电池已充电 100%。


更新:

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

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

如果您的应用需要收到电池状态更改的通知,或者您想检查电池电量,请启用电池监控。

此属性的默认值为NO,其中:

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

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

于 2012-11-01T22:09:29.187 回答