iOS idleTimerDisabled行为

时间:2011-11-17 16:12:03

标签: iphone ios timer

我的iPhone应用程序有两种状态:UI和游戏。 仅使用设备倾斜来玩游戏,因此我在游戏开始时关闭自动睡眠:

[[UIApplication sharedApplication].idleTimerDisabled = TRUE;

但是当我返回UI时,我希望自动睡眠再次激活。所以在游戏结束时我恢复它:

[[UIApplication sharedApplication].idleTimerDisabled = FALSE;

经过长时间的游戏,它导致我在游戏后第一个UI屏幕立即变暗。 因此,似乎当空闲计时器被禁用时,它仍在计算时间。它在“启用”后立即被解雇。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

我不知道idleTimer是否可以通过编程方式重置,但一个选项是要求用户在返回之前触摸屏幕。

另一个选项是在您回来后设置自己的超时并在设置idleTimerDisabled = NO之前等待它完成。如果再次开始游戏,请记得清除此超时。

答案 1 :(得分:1)

answer可能很有用。

使用音乐/音频播放器时我也遇到了问题,这似乎重新激活了计时器。

ps:在ObjectiveC中你应该使用YES / NO而不是FALSE / TRUE