iPhone - NSTimer问题,当iPhone锁定

时间:2011-08-29 02:58:28

标签: iphone nstimer

我正在使用NSTimer每隔15秒检查一次服务器的最新数据。 当应用程序转到后台时,我将在以下应用程序委托方法中停止计时器

- (void)applicationWillResignActive:(UIApplication *)application

当应用程序恢复活动状态时,我正在激活计时器并再次激活

- (void)applicationWillEnterForeground:(UIApplication *)application

此功能正常。 但是当我离开iPhone时,它会在一段时间后锁定。 当我解锁时,功能无法正常继续。计时器未运行。

我做错了什么?

我不希望计时器在后台运行。这就是为什么在进入后台之前,我正在禁用计时器,当我到达前台时,我想重新启动计时器。

2 个答案:

答案 0 :(得分:1)

我认为除了applicationWillEnterForeground之外,您可能还需要一个额外的委托方法。我认为当用户解锁手机时,您的应用已经处于前台,因此无法进入。但我不确定委托方法是什么,也许applicationDidBecomeActive

答案 1 :(得分:0)

这就是Apple background processing的工作原理......

你可以创建一个后台任务,让NSTimer在后台工作但是时间有限,你不能让它总是在后台工作。