5

我正在制作一个 GPS 应用程序,精度会根据电源是否可用(即车载充电器)而变化

有没有办法在后台运行一些东西来不断检查设备是否正在通电?

我知道如何检查电源是否连接。但问题是如果用户在家并连接。他拔掉设备,出去跑步。然后决定出去玩。我的应用程序在启动时检查电池状态。我怎样才能一次又一次地检查它。我不想耗尽他的电池,因为他正在使用我的应用程序!

我们计划仅支持 iOS 5 及更高版本(无需向后兼容 iOS 4 和 3)

谢谢

4

1 回答 1

20

看看UIDevice类参考。

有一个名为的属性batteryState返回一个UIDeviceBatteryState. 因此,查看设备是否正在充电或已插入并充满电。

UIDeviceBatteryState currentState = [[UIDevice currentDevice] batteryState];
if (currentState == UIDeviceBatteryStateCharging || currentState == UIDeviceBatteryStateFull) {
    // The battery is either charging, or connected to a charger and is fully charged
}

编辑添加

如果您想持续监控状态,请查看batteryMonitoringEnabled属性,然后处理UIDeviceBatteryStateDidChangeNotification以更新您想要的任何内容。

iOS 是事件驱动的。在 while 循环中检查某事的状态是您很少需要做的事情。

于 2012-07-05T13:50:01.853 回答