Swift - 获取电池是不是正在充电,即使是 100%

Posted

技术标签:

【中文标题】Swift - 获取电池是不是正在充电,即使是 100%【英文标题】:Swift - Get if battery is charging even at 100%Swift - 获取电池是否正在充电,即使是 100% 【发布时间】:2015-12-27 00:21:40 【问题描述】:

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

【问题讨论】:

“有没有办法确定电池在 100% 时是否正在充电?” 这到底是什么意思? 【参考方案1】:

你说,

在 100% 拔下电源时它也会返回 .Full。

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

UIDeviceBatteryStateFull

设备已插入电源并且电池已充电 100%。

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

【讨论】:

嗯,是这样的......我认为我已经很好地查看了文档,但我想我没有。对不起这个非常愚蠢的问题。谢谢!如果允许,我会在六分钟内接受你的回答。【参考方案2】:

你可以用这个吗?

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

以上是关于Swift - 获取电池是不是正在充电,即使是 100%的主要内容,如果未能解决你的问题,请参考以下文章

获取电池充电时间

如何以编程方式检查手机当前是不是正在充电或正在使用电池?

在 Windows CE 6 中,我如何知道电池是不是仍在充电或已充满?

macOS新增实用功能,优化充电模式,延长MacBook电池寿命

js控制电池

如何从连接的 iOS 设备获取电池充电周期?