观察或收到 watchOS 电池状态变化的通知
Observing or getting notified of change in battery state for watchOS
有什么方法可以实时通知电池状态的变化而无需定期检查状态?
我尝试在 iOS 上找到 UIDevice.UIDeviceBatteryStateDidChangeNotification
的等效项,但 watchOS 的 WKInterfaceDevice
似乎不提供此通知。
尽管Apple doc指定UIKit
中的类不支持KVO,可能和WatchKit
一样,我还是尝试注册了一个WKInterfaceDevice.current().batteryState
上的观察者如下,但它不会通知更改
WKInterfaceDevice.current().isBatteryMonitoringEnabled = true
batteryObserver = WKInterfaceDevice.current().observe(\.batteryState) {
[weak self] _, _ in self?.onBatteryStateChange()
}
有谁知道如何在不定期轮询状态的情况下完成此操作?
我的解决方案是从定期轮询电池状态和电量的单例对象发出自定义通知。如果您有更好的解决方案请与我分享,我不太喜欢轮询部分。
有什么方法可以实时通知电池状态的变化而无需定期检查状态?
我尝试在 iOS 上找到 UIDevice.UIDeviceBatteryStateDidChangeNotification
的等效项,但 watchOS 的 WKInterfaceDevice
似乎不提供此通知。
尽管Apple doc指定UIKit
中的类不支持KVO,可能和WatchKit
一样,我还是尝试注册了一个WKInterfaceDevice.current().batteryState
上的观察者如下,但它不会通知更改
WKInterfaceDevice.current().isBatteryMonitoringEnabled = true
batteryObserver = WKInterfaceDevice.current().observe(\.batteryState) {
[weak self] _, _ in self?.onBatteryStateChange()
}
有谁知道如何在不定期轮询状态的情况下完成此操作?
我的解决方案是从定期轮询电池状态和电量的单例对象发出自定义通知。如果您有更好的解决方案请与我分享,我不太喜欢轮询部分。