【发布时间】:2011-11-07 09:36:07
【问题描述】:
如何在我的应用程序中通过代码打开位置服务如果位置服务处于关闭状态我希望它通过 alertView 打开我在 alertview 中有两个按钮取消和设置 如果我点击设置它需要去设备的设置是可能的???
谁能帮帮我??
谢谢............
【问题讨论】:
标签: iphone
如何在我的应用程序中通过代码打开位置服务如果位置服务处于关闭状态我希望它通过 alertView 打开我在 alertview 中有两个按钮取消和设置 如果我点击设置它需要去设备的设置是可能的???
谁能帮帮我??
谢谢............
【问题讨论】:
标签: iphone
您无法在代码中启用位置服务。您只需调用该服务,iOS 将代表您的应用向用户寻求许可。
【讨论】:
我不得不处理同样的问题,但这在 iOS 下是不可能的。您必须检查是否启用了位置服务:
[CLLocationManager locationServicesEnabled];
如果没有,请让用户转到设置以启用它(例如通过 AlertView)。
请注意,Apple 说:
locationServicesEnabled : 你应该检查这个的返回值 开始位置更新之前的方法来确定用户是否有 为当前设备启用的定位服务。如果这个方法 返回 NO 并且无论如何您都开始位置更新,核心位置 框架通过确认面板提示用户,询问是否 应重新启用定位服务。
但这似乎只在您第一次检查时才有效。如果用户拒绝,则不再显示确认面板。
您也可以查看:
switch ([CLLocationManager authorizationStatus]) {
case kCLAuthorizationStatusDenied:
case kCLAuthorizationStatusRestricted:
case kCLAuthorizationStatusNotDetermined:
}
【讨论】: