0

我想每 15 分钟获取一次服务,所以我正在使用 NSTimer。它工作正常。但是如何在应用程序处于后台状态时使用 nstimer 调用相同的服务。Nstimer 在后台状态下不工作。请建议我。

4

1 回答 1

2

//当应用程序即将从活动状态转移到非活动状态时。

- (void)applicationWillResignActive:(UIApplication *)application
{
    [self sendBackgroundLocationToServer];
}


- (void) sendBackgroundLocationToServer
{
UIBackgroundTaskIdentifier bgTask = UIBackgroundTaskInvalid;
bgTask = [[UIApplication sharedApplication]
          beginBackgroundTaskWithExpirationHandler:^{
              [[UIApplication sharedApplication] endBackgroundTask:bgTask];
          }];


//Start Timer
[self startTimer];

//Close the task
if (bgTask != UIBackgroundTaskInvalid)
{
    [[UIApplication sharedApplication] endBackgroundTask:bgTask];
}
}
于 2013-08-09T05:29:04.493 回答