Swift - 获取电池是否在 100% 充电

Swift - Get if battery is charging even at 100%

我正在 swift 制作一个应用程序,我需要知道电池是否正在充电。我知道我可以使用 UIDevice.currentDevice().batteryState,但是当它处于 100% 时,它会 returns .Full 而不是 .Charging。它也 returns .Full 在 100% 上拔下插头。那么有没有办法确定电池是否在 100% 充电?

你可能会用到这个?

if UIDevice.currentDevice().batteryState == .Unplugged {
    //Not charging
} else {
    //Charging
}

你说,

It also returns .Full when unplugged on 100%.

但是 the docs 说(强调我的):

UIDeviceBatteryStateFull

The device is plugged into power and the battery is 100% charged.

因此,一旦您断开电源,状态似乎应该更改为 .Unplugged。如果您看到.Full电池既已拔下又已充满电,那么这是一个错误(或至少是文档中的错误),您应该报告它。

UIDevice.currentDevice().batteryState 有 4 个可能的 return 值:

typedef 枚举{ UIDeviceBatteryStateUnknown, UIDeviceBatteryStateUnplugged, UIDeviceBatteryStateCharging, UIDeviceBatteryStateFull, } UIDeviceBatteryState;

UIDeviceBatteryStateFull 表示设备已插入并充满电。

Apple Docs 起初有时很难导航,但是你好朋友: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/#//apple_ref/c/tdef/UIDeviceBatteryState