我有一个利用摄像机的应用程序,因此屏幕不会变暗。禁止屏幕变暗效果很好,如下所示:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
}
但是当应用程序关闭并进入后台时,将 IdleTimer 设置回 NO 不起作用。屏幕在主屏幕上永远保持打开状态。这就是我努力实现这一目标的方式。
- (void)applicationWillResignActive:(UIApplication *)application
{
[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
}
有更好的地方添加这行代码吗?
同样的问题也发生在我身上。实际上它确实有效,但仅在您的设备未连接到 Xcode 时有效。尝试断开设备连接,然后测试此功能。
为什么不尝试在
applicationWillEnterForeground
委托方法中使用你的代码。
Swift 版本:
public func applicationWillResignActive(application: UIApplication) {
UIApplication.sharedApplication().idleTimerDisabled = false
}
public func applicationDidBecomeActive(application: UIApplication) {
UIApplication.sharedApplication().idleTimerDisabled = true
}