我正在使用
[[UIApplication sharedApplication] setIdleTimerDisabled: YES];
以防止应用程序进入空闲状态,但是当我发布时
[[UIApplication sharedApplication] setIdleTimerDisabled: NO];
该应用程序直接进入空闲状态。
现在有没有办法重新启动计时器?
"唯一应该禁用空闲定时器的应用程序是映射具有零星用户的应用程序、游戏或类似程序相互作用"
如果你的应用程序确实需要关闭idleTimer,那么也许它可以一直关闭,直到应用程序进入后台?
您可以尝试在定时事件结束时添加警报
UIAlertView *myAlert = [[UIAlertView alloc] initWithTitle:@"Timer Complete" message:@"Timer ended, well don you" delegate:nil cancelButtonTitle:@"OKAY" otherButtonTitles:nil];
[myAlert show];
[myAlert release];
如果你使用ARC,请省略发布。这可能会点亮屏幕备份,那么也许你不需要打乱空闲计时器。
对于提出这个问题的人来说,这显然已经太晚了,但对于其他正在寻找问题的人,对我有效的是这样做:
[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
包括所有三条线,一条接一条,以某种方式重置计时器。因此,计时器不会在立即收到setIdleTimerDisabled:NO时变暗,而是需要一段时间才能变暗。