IOS:如何防止屏幕在重新启用 idleTimer 时立即变灰

标签 ios idle-timer

我正在开发一款主要使用加速度计输入的 iOS 游戏。以前的程序员在启动时设置 idleTimerDisabled=YES 并保持这种状态。我最近做了一个更改,使空闲计时器仅在游戏过程中被禁用,并在关卡结束时重新启用。

问题是,如果关卡的播放时间比用户设置的idleTimer长,我设置idleTimerDisabled=NO的那一刻屏幕就会变灰。有没有办法在重新启用时重置计时器,以便在 idleTimer 使屏幕变暗之前发生完整的时间增量?

最佳答案

禁用计时器上的空闲计时器,使用类似这样的东西。

[self performSelector:@selector(enableIdleTimer) withObject:nil afterDelay:4];

- (void)enableIdleTimer { 

    [[UIApplication sharedApplication] setIdleTimerDisabled:NO];
}

或者,这是一种更现代、更简单的方法:

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    [[UIApplication sharedApplication] setIdleTimerDisabled:NO];
});

关于IOS:如何防止屏幕在重新启用 idleTimer 时立即变灰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7841080/

相关文章:

php - iOS中的RNCryptor加密和PHP中的解密

ios - Swift 闭包 : Cannot convert return expression of type '()' to return type 'LiveSearchResponse?'

ios - Cocoa 如何做一个 POST 请求?

javascript - 使用 jquery : when active update useronline timestamp on mysql 进入空闲和事件状态的问题

android - android 中的空闲时间?

jsf - 通过 PrimeFaces 超时 p :idleMonitor

ios - 如何在 iOS 中同步两个异步委托(delegate)方法回调?

ios - 如何通过 UIButton 存储 Parse 数据

ios - iPhone:检测自上次屏幕触摸以来的用户不活动/空闲时间

iphone - 帮助解决我的应用崩溃的原因?