观察电池电量不足,Swift

Observe battery out of charge, Swift

我想在 iPhone 电池 iPhone 运行 没电时执行一些代码。

会叫func applicationWillTerminate(_ application: UIApplication) {吗?如果没有那么是否存在任何其他方式来跟踪这个?提前致谢。

没有对此的支持,您必须决定何时电池电量太低以至于您需要 运行 您的代码。

您可以做的是收听通知 batteryLevelDidChangeNotification,这是通过激活监控完成的 isBatteryMonitoringEnabled

如文档中所述,通知每分钟发送不超过一次,因此您必须确定电池电量是否足够低以被视为几乎耗尽,然后执行代码。

我不知道这是怎么回事,根据我的个人经验,我看到我的手机在低于 5% 的值下可以保持很长时间,但也看到它们在低于 10% 后不久就死机了

您可以使用以下代码片段:

    func startObservingBatteryDrainage(){
        if UIDevice.current.isBatteryMonitoringEnabled && (UIDevice.current.batteryState == .unplugged || UIDevice.current.batteryState == .unknown){
            if UIDevice.current.batteryLevel < 0.1{
                NotificationCenter.default.addObserver(self, selector: #selector(funcWhenBatteryIsAlmostDrained), name: UIDevice.batteryLevelDidChangeNotification, object: nil)
            }
        }
    }

    @objc func funcWhenBatteryIsAlmostDrained(){
        //do stuff

    }