5

ロケーションの更新に GPS を使用する機能を実現したいと考えており、ユーザーが動いていないときは GPS の更新を一時停止したいと考えています。「 Staying on track with Location services」ビデオに従って、私はこれを行いました:

 //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 ...」が呼び出されませんでした。

理想的には、デバイスの状態と CLActivityType に応じて GPS 更新を停止および再開する必要がありますが、ここではそうではありません。

誰が私を助けることができますか、私は何が間違っていますか?

前もって感謝します。

4

2 に答える 2

2

デバイスを約 15 分間同じ場所に置いておくと、一時停止が発生します。

于 2013-02-03T02:53:58.930 に答える
0

locationManagerDidPauseLocationUpdates: リスナーが呼び出されるときは、おそらくリージョンの場所を使用する必要があります。この投稿の最初の回答の更新を参照してください: iOS 6 AutoPause does not work

于 2014-01-21T16:05:03.523 に答える