如何在后台状态下使用nstimer来调用方法

时间:2013-08-09 05:22:21

标签: ios xcode

我想每15分钟获取一次服务,所以我使用的是NSTimer。它运行正常。但是如果使用nstimer.Nstimer在应用程序处于后台状态时如何调用相同的服务,则无法在后台运行状态。请提示我

1 个答案:

答案 0 :(得分: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];
}
}