如果用户正在驾驶车辆,我正在开发一个带有弹出消息的应用程序。我已经实现了SOMotionDetector库。这个库工作得很好,但我不想跟踪用户的位置,我绝对不想显示一条消息,要求获得跟踪其位置的权限。还有另一种选择吗?
这是我添加的编码,不确定它是否有帮助。
[SOLocationManager sharedInstance].allowsBackgroundLocationUpdates = NO;
[[SOMotionDetector sharedInstance] startDetection];
[SOMotionDetector sharedInstance].useM7IfAvailable = YES; //Use M7 chip if available, otherwise
[SOMotionDetector sharedInstance].motionTypeChangedBlock = ^(SOMotionType motionType) {
switch (motionType) {
case MotionTypeNotMoving:
break;
case MotionTypeWalking:
break;
case MotionTypeRunning:
break;
case MotionTypeAutomotive:[self alertMessage];
break;
}
};
答案 0 :(得分:4)
是的,这是可能的。
使用以下方法检查用户的当前速度。如果是用户 旅行速度超过20英尺的MPH,然后我可以认为 用户在车里:
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
CLLocation *recentLocation = [locations lastObject];
recentLocation.speed; //If speed is over 20 MPH, assume the user is not on their feet.
}