如何让我的 iOS 应用检测设备何时充电?
1 回答
这个怎么样。
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
来检测充电器何时插入。