gpt4 book ai didi

ios - 通过后台获取的电池状态和电量?

转载 作者:行者123 更新时间:2023-11-30 11:24:23 29 4
gpt4 key购买 nike

我想知道应用程序的用户何时插入或拔出手机充电器,即使应用程序处于后台也是如此。我可以通过 NetworkReachability(wifi、ondata、无法访问、无法确定...)来做到这一点,但不能通过电池电量或电池状态来做到这一点。仅当应用程序位于前台或处于事件状态时,我才能知道电池电量和电池状态,这与她在后台时不同。

我可以设置电池电量(或状态)的后台获取吗?如果用户拔掉充电器,我将启动一个功能或打印(或其他任何内容)。

我可以设置电池电量或状态的监听器吗?因为这就是我对 NetworkReachability 所做的操作,但我发现只有观察者可用于观察电池特性。

func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
if let a = window?.rootViewController as? UIViewController{
UIDevice.current.isBatteryMonitoringEnabled = true
NotificationCenter.default.addObserver(self, selector: #selector(self.batteryStateDidChange), name: .UIDeviceBatteryStateDidChange, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(self.batteryLevelDidChange), name: .UIDeviceBatteryLevelDidChange, object: nil)
completionHandler(.newData)
}

else{
completionHandler(.noData)
}

观察者似乎无法使用后台获取,或者我说错了?

非常感谢您的帮助,祝大家度过愉快的一天!

最佳答案

根据已接受的答案,情况似乎并非如此,但此类问题通常可以归结为试图推迟/取消密集但可自由支配的工作。 如果碰巧是这种情况,那么我很幸运地使用了 NSProcessInfo 低功耗 API。甚至在启用时还会发出通知,这对于取消特别有用。

关于ios - 通过后台获取的电池状态和电量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50922899/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com