iphone - 如何知道设备何时充电?

标签 iphone ios objective-c

<分区>

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

最佳答案

这个怎么样。

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

来自apple documentation ,

UIDeviceBatteryState: 设备的电池电量状态。

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

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

UIDeviceBatteryStateUnplugged: 设备未插入电源;电池正在耗电。

UIDeviceBatteryStateCharging: 设备已接通电源,电池电量低于 100%。

UIDeviceBatteryStateFull: 设备已接通电源,电池已充电 100%。


更新:

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

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

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

此属性的默认值为NO,即:

  • Disables the posting of battery-related notifications
  • Disables the ability to read battery charge level and battery state

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

关于iphone - 如何知道设备何时充电?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13186203/

相关文章:

ios - 如何更改 DispatchQueue 中对象的延迟时间

ios - 在 ScrollView 上添加圆形按钮

ios - 对 UITextField 的 inputView 使用约束

ios - 检测 tableView reloadData 完成的新解决方案?

objective-c - 使用 Cocoa 打印本地 HTML

iphone - 您需要支付许可费才能为 iPhone/iOS 编程吗?

iphone - 如何让 CAKeyframeAnimation 在覆盖另一个 CAKeyframeAnimation 时获取当前状态?

iphone - 当您尝试从不同的线程保存 managedObjectContext 时会发生什么?

ios - 在 iOS 中使用 WkWebView 和 Swift 不显示网页

iphone - 是否可以制作三角形 UIView?