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