1

当我的应用程序在后台运行时,谁能告诉我是否可以处理诸如 OrientationChanged、Shake、LocationChanged 等事件?

我尝试过以下代码,但只有当我的应用程序在前台运行时才会调用它!

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
//if the time interval returned from core location is more than two minutes we ignore it because it might be from an old session
if ( abs([newLocation.timestamp timeIntervalSinceDate: [NSDate date]]) < 120) {     
    self.currentLocation = newLocation;
}
NSLog(@"lat: %f long:%f",currentLocation.coordinate.latitude,currentLocation.coordinate.longitude);
}

谢谢。

4

1 回答 1

2

http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html

你应该在你的 info.plist 文件中包含位置服务,在UIRequiredDeviceCapabilities键下

然后您的应用程序将在后台接收位置更新。然而,这会以更快的速度耗尽电池..在用户不了解的情况下..如果可能,您应该只注册重要的位置

在后台无法进行方向更改更新。摇晃可能是……我不确定

于 2012-01-19T13:53:06.807 回答