我想在後臺發佈數據,並且我希望從常規間隔中接收響應,以便我嘗試使用CLLocation Manager。但didUpdateToLocation方法只調用一次。 請推薦我! 進入這裏位置背景 - 網絡連接
- (void)applicationDidEnterBackgroundUIApplication *)application
{
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
locationManager.desiredAccuracy = kCLLocationAccuracyBest; // 100 m
[locationManager startUpdatingLocation];
UIApplication* app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
// Start the long-running task and return immediately.
dispatch_async(dispatch_get_global_queue(DISPATCH_ QUEUE_PRIORITY_DEFAULT, 0), ^{
//Do the work associated with the task
// code for Posting Data Here
NSLog(@"backgroundTimeRemaining: %f", [[UIApplication sharedApplication] backgroundTimeRemaining]);
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
});
}
- (void)locationManagerCLLocationManager *)manager
didUpdateToLocationCLLocation *)newLocation
fromLocationCLLocation *)oldLocation
{
NSLog(@"Location Change");
}
This Method Call Only Once.
有你在身邊有些感動?我從經驗中知道,即使使用kCLDistanceFilterNone,您可能需要移動得相當遠(有時超過30米)才能實際發送更新。 –
根據你的位置更新locationManager.distanceFilter值應該是什麼。 – Vijay
這是一個很好的價值。但是,根據您的位置,手機可能無法很好地修復您的位置。因此,即使每當它移動一米時它都會通知您,但它可能不知道它已經移動了一米。 –