当连接到充电器和应用程序正在运行时,防止iPhone锁定

时间:2011-11-17 15:27:40

标签: iphone objective-c

我正在写一个iPhone应用程序。当应用程序运行且iPhone正在充电时,无需锁定iPhone。是否有可能在设备充电且我的应用程序正在运行时阻止iPhone的锁定?

2 个答案:

答案 0 :(得分:4)

您可以订阅UIDeviceBatteryStateDidChangeNotification通知,以获取您的iphone开始/停止充电的时刻。然后,如果iphone正在充电,你可以将UIApplication对象中的idleTimerDisabled属性设置为YES,以防止设备进入睡眠状态:

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(updateBatteryState:) 
                             name:UIDeviceBatteryStateDidChangeNotification 
                                           object:nil];


- (void) updateBatteryState:(NSNotification*)notification{
    [UIApplication sharedApplication].idleTimerDisabled = 
         ([UIDevice currentDevice].batteryState == UIDeviceBatteryStateCharging);
}

P.S。如果用户决定使用睡眠/唤醒按钮将设备置于睡眠状态,则无法阻止他这样做

答案 1 :(得分:-1)

目前的SDK无法做到这一点。

编辑:嗯,从第一次阅读中没有正确的问题 - 看看其他答复的正确答案;我的猜测是,你在询问是否可以通过usb或墙上插座连接设备时防止出现同步/充电屏幕