当我的应用程序在后台运行时,有人可以告诉我是否可以处理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);
}
感谢。
答案 0 :(得分:2)
您应在 UIRequiredDeviceCapabilities
键下的info.plist文件中加入位置服务然后您的应用将在后台接收位置更新。 然而,这会以更快的速度耗尽电池......用户不知道太多......如果可能,您应该只注册重要位置
方向已更改更新将无法在后台进行。 摇可能......我不确定