如何通过代码开启定位服务
Posted
技术标签:
【中文标题】如何通过代码开启定位服务【英文标题】:How to turn ON location services through Code 【发布时间】:2011-11-07 09:36:07 【问题描述】:如何在我的应用程序中通过代码打开位置服务如果位置服务处于关闭状态我希望它通过 alertView 打开我在 alertview 中有两个按钮取消和设置 如果我点击设置它需要去设备的设置是可能的???
谁能帮帮我??
谢谢............
【问题讨论】:
【参考方案1】:您无法在代码中启用位置服务。您只需调用该服务,ios 将代表您的应用向用户寻求许可。
【讨论】:
【参考方案2】:我不得不处理同样的问题,但这在 iOS 下是不可能的。您必须检查是否启用了位置服务:
[CLLocationManager locationServicesEnabled];
如果没有,请让用户转到设置以启用它(例如通过 AlertView)。
请注意,Apple 说:
locationServicesEnabled : 你应该检查这个的返回值 开始位置更新之前的方法来确定用户是否有 为当前设备启用的定位服务。如果这个方法 返回 NO 并且无论如何您都开始位置更新,核心位置 框架通过确认面板提示用户,询问是否 应重新启用定位服务。
但这似乎只在您第一次检查时才有效。如果用户拒绝,则不再显示确认面板。
您也可以查看:
switch ([CLLocationManager authorizationStatus])
case kCLAuthorizationStatusDenied:
case kCLAuthorizationStatusRestricted:
case kCLAuthorizationStatusNotDetermined:
【讨论】:
@Deepak :不要浪费时间,你不能。如果你真的想这样做,你可以搜索未记录的方法,但你的应用会被苹果拒绝。 我使用了上面的 if([CLLocationManager locationServicesEnabled]==NO) // alertview以上是关于如何通过代码开启定位服务的主要内容,如果未能解决你的问题,请参考以下文章