我搜索了很多天的解决方案,但我没有找到任何让我满意的解决方案。
我已经启动了LocationManager
,并且工作正常。现在,我想连接LocationManager
一个时间表。例如,在上午 9 点到下午 1 点之间,位置管理器应该工作,在下午 1 点到下午 3 点之后应该关闭,然后到午夜位置管理器必须打开。
当应用程序暂停并关闭时,如何触发操作LocationManager
?
我写了这样的东西:
[NSTimer scheduledTimerWithTimeInterval:30 target:self selector:@selector(doInBackground:) userInfo:nil repeats:YES];
- (void) doInBackground:(NSTimer*)time {
ScheduleModel *schMod = [[ScheduleModel alloc]init];
if(![schMod isScheduleActiveNow]){
[locationManager stopUpdatingLocation];
NSLog(@"LocationManager OFF");
} else if(!locationManager){
[locationManager startUpdatingLocation];
NSLog(@"LocationManager ON");
}
[schMod release];
}
但它只有在工作时才LocationManager
有效。当我LocationManager
关闭时,似乎没有什么可以触发 action doInBackground
。
有没有解决这个问题的方法?