当前位置: 首页 > 面试题库 >

检查电池电量iOS Swift

瞿子濯
2023-03-14
问题内容

我刚启动Swift,一直在寻找一种检查电池电量的方法。我找到了该资源并一直在使用它,但是由于某种原因似乎无法使它正常工作。

我不太确定如何解决此问题。有任何想法吗?


问题答案:

Xcode 11•Swift 5.1

首先只需启用电池监控:

UIDevice.current.isBatteryMonitoringEnabled = true

然后,您可以创建一个计算属性以返回电池电量:

电池电量从0.0(完全放电)到1.0(100%充电)。访问此属性之前,请确保已启用电池监视。如果未启用电池监视,则电池状态为UIDevice.BatteryState.unknown,此属性的值为–1.0。

var batteryLevel: Float { UIDevice.current.batteryLevel }

要监视设备的电池电量,您可以添加观察者 UIDevice.batteryLevelDidChangeNotification

NotificationCenter.default.addObserver(self, selector: #selector(batteryLevelDidChange), name: UIDevice.batteryLevelDidChangeNotification, object: nil)
@objc func batteryLevelDidChange(_ notification: Notification) {
    print(batteryLevel)
}

您还可以验证电池状态:

var batteryState: UIDevice.BatteryState { UIDevice.current.batteryState }
case .unknown   //  "The battery state for the device cannot be determined."
case .unplugged //  "The device is not plugged into power; the battery is discharging"
case .charging  //  "The device is plugged into power and the battery is less than 100% charged."
case .full      //   "The device is plugged into power and the battery is 100% charged."

并添加观察者UIDevice.batteryStateDidChangeNotification

NotificationCenter.default.addObserver(self, selector: #selector(batteryStateDidChange), name: UIDevice.batteryStateDidChangeNotification, object: nil)
@objc func batteryStateDidChange(_ notification: Notification) {
    switch batteryState {
    case .unplugged, .unknown:
        print("not charging")
    case .charging, .full:
        print("charging or full")
    }
}


 类似资料:
  • 问题内容: 当设备的电池电量不足时,我想关闭我的应用程序。我在清单中添加了以下代码。 并在接收器中遵循以下代码 我正在模拟器上运行该应用程序,并使用telnet更改了电池电量。它会更改电池电量,但不会显示任何吐司或记录。 我想念什么?任何帮助表示赞赏!谢谢。 问题答案: 在代码中而不是在文件中注册您的接收器。 或使用接收器收听电池电量。

  • 在产品使用寿命结束时,Polar 鼓励您遵守当地的废弃物处理法规,并在可能的情况下利用电子设备分类收集,将废弃物对环境和人类健康的可能影响降到最低。不要将本产品作为未分类的城市垃圾处理。 为电池充电 Verity Sense 内置一块可充电电池。可充电电池的充电循环次数有限。您可在电容量明显下降之前,对电池进行 500 多次的充放电。充电循环次数还会因使用及工作条件而异。 在充电前,请确保您的 V

  • 在产品无法再次为您提供服务时, Polar 鼓励您按照地方废弃物处置条例,如果可能,对电子设备进行分类收集,以尽量降低废弃物对环境和人类健康可能产生的影响。不要将本产品作为未分类的城市垃圾处理。 电池充电 在充电前,请确保您的手表和连接线的充电触点上没有水分、灰尘或脏污。轻轻擦掉脏污或水分。手表沾了水时,不要充电。 手表配备了一块内部可充电电池。可充电电池的充电次数有限。您可在电容量明显下降之前,

  • 在产品无法再次为您提供服务时, Polar 鼓励您按照地方废弃物处置条例,如果可能,对电子设备进行分类收集,以尽量降低废弃物对环境和人类健康可能产生的影响。不要将本产品作为未分类的城市垃圾处理。 电池充电 在充电前,请确保您的手表和连接线的充电触点上没有水分、灰尘或脏污。轻轻擦掉脏污或水分。手表沾了水时,不要充电。 手表配备了一块内部可充电电池。可充电电池的充电次数有限。您可在电容量明显下降之前,

  • 在产品无法再次为您提供服务时, Polar 鼓励您按照地方废弃物处置条例,如果可能,对电子设备进行分类收集,以尽量降低废弃物对环境和人类健康可能产生的影响。请勿将本产品按未分类的城市垃圾处理。 对 A370 电池充电 A370 配备了一块内部可充电电池。可充电电池的充电次数有限。您可在电容量明显下降之前,对电池进行 300 多次的充放电。充电次数还会因使用及工作条件不同而不同。 在低于 0°C 或

  • 当产品到达了操件寿命的尽头 , Polar 鼓励您按照地方废弃物处置条例,如果可能,对电子设备进行分类收集,以尽量降低废弃物对环境和人类健康可能产生的影响。请勿将本产品按未分类的城市垃圾处理。 请勿让儿童接触电池。如果误吞电池,请立即就医。应按照当地法规正确处理电池。 对 A300 电池充电 A300 配备了一块内部可充电电池。可充电电池的充电次数有限。您可在电容量明显下降之前,对电池进行 300