应用关闭时检测 iOS 设备电池电量

Detect iOS device battery level when app is closed

我正在 iOS 构建一个应用程序,它需要检测电池电量何时不足以发送通知。当应用程序为 运行 时,这很简单,只需监听 UIDeviceBatteryLevelDidChangeNotification 通知并检查当前电池电量即可。但是,在iOS关闭应用程序时是否可以收到此类通知?与 Android 类似的东西可以在应用程序未打开的情况下通过 运行 服务或警报触发通知。

我在想也许我可以定期发出本地通知来检查电池电量,但通知应该只在达到低电量时出现。这是一个好的方法,还是有更好的方法?

不,很遗憾,这是不可能的。

NSNotifications(例如 UIDeviceBatteryLevelDidChangeNotification)在暂停时不会传送到您的应用。

您可以使用 iOS 中的 background modes 之一,但是这会有点麻烦,因为其中 none 旨在以这种方式使用。

我在想,也许你可以 运行 检查接收远程通知,如果你能在你的应用程序中找到它们的合法用途。