我想实现一种功能,我使用GPS进行更新,当用户不移动时,我希望暂停GPS更新。 根据“保持正确的位置服务”视频,我这样做了:
//Configure Location Manager
self.theLocationManager = [[CLLocationManager alloc]init];
[self.theLocationManager setDelegate:self];
[self.theLocationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[self.theLocationManager setActivityType:CLActivityTypeFitness];
NSLog(@"Activity Type Set: CLActivityTypeFitness");
[self.theLocationManager setPausesLocationUpdatesAutomatically:YES];
[self.theLocationManager startUpdatingLocation];
代表:
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray *)locations
{
NSLog(@"Started location Updates");
}
- (void)locationManagerDidPauseLocationUpdates:(CLLocationManager *)manager
{
NSLog(@"Pausing location Updates");
}
- (void)locationManagerDidResumeLocationUpdates:(CLLocationManager *)manager
{
NSLog(@"Resuming location Updates");
UIAlertView *pop = [[UIAlertView alloc]initWithTitle:@"Info" message:@"Location Updates resumed" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[pop show];
[pop release];
}
我没有得到所需的行为,当设备闲置时,代理人“didPause ..”和“didResume ...”甚至没有被调用。
理想情况下,GPS更新必须停止并恢复,具体取决于设备和CLActivityType的状态,但不是这里的情况。
任何人都可以帮助我,我做错了什么?
提前致谢。
答案 0 :(得分:2)
如果您将设备放在同一位置约15分钟,则会发生暂停。
答案 1 :(得分:0)
当调用locationManagerDidPauseLocationUpdates:listener时,您可能应该使用区域位置。请参阅此帖子中第一个答案的更新: iOS 6 AutoPause doesn't work