iphone - 防止 iPhone 在连接到充电器且应用程序正在运行时锁定

标签 iphone objective-c

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

最佳答案

您可以订阅 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);
}

附注如果用户决定使用 sleep /唤醒按钮让设备进入休眠状态,则无法阻止他这样做

关于iphone - 防止 iPhone 在连接到充电器且应用程序正在运行时锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8169735/

相关文章:

iphone - 使用 cocos2d 在 iPhone 上显示游戏分数的最佳方式?

ios - 从其他类传递和获取数据时显示 null

iPhone:objective-c 中的音频分析

iphone - UIButton TouchUpInside/TouchUpOutside 并不总是被调用?

ios - 什么是 rootViewController 以及何时使用它?

iphone - 停用 UIScrollView 减速

objective-c - 为什么只有一个文本字段的值发生变化?

iphone - 圆形 UIScrollView 性能

iphone - NSMutableDictionary EXC_BAD_ACCESS

objective-c - 在 NSImage 上绘制文本