Ios5 iOS如何检测电源线是否已插入

Ios5 iOS如何检测电源线是否已插入,ios5,notifications,push-notification,nsnotificationcenter,Ios5,Notifications,Push Notification,Nsnotificationcenter,我正在制作一个GPS应用程序,其精度会根据是否有电源(即车辆充电器)而变化 有没有一种方法可以在后台运行一些东西,不断地检查设备是否接收到电源 我知道如何检查电源是否接通。但问题是,用户是否在家且已连接。他拔下设备出去跑步。然后决定出去玩。我的应用程序在启动时检查电池状态。我怎样才能反复检查呢。我不想耗尽他的电池,因为他正在使用我的应用程序 我们计划只支持iOS 5及更高版本(不需要与iOS 4和3向后兼容) 谢谢请查看ui设备课程参考 有一个名为batteryState的属性,它返回UIDev

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

有没有一种方法可以在后台运行一些东西,不断地检查设备是否接收到电源

我知道如何检查电源是否接通。但问题是,用户是否在家且已连接。他拔下设备出去跑步。然后决定出去玩。我的应用程序在启动时检查电池状态。我怎样才能反复检查呢。我不想耗尽他的电池,因为他正在使用我的应用程序

我们计划只支持iOS 5及更高版本(不需要与iOS 4和3向后兼容)


谢谢

请查看
ui设备
课程参考

有一个名为
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循环中检查某些内容的状态。

我是否在while(true)循环中运行此操作?您可以使用notification center在不收费时发送通知,并可能弹出警报。我更新了代码并提供了它,但它似乎不起作用。请注意,
batteryState
方法将始终只返回
UIDeviceBatteryStateUnknown
,除非您将设置为
YES
。(这可能是您遇到@CocoaDev的问题)我将问题退回,因为您的编辑从根本上改变了它。如果你还有其他问题,请问另一个问题,而不是从根本上改变现有的问题。