此处以QQ软件为例
判断了关闭定位的两种情况。
1.在设置->隐私->定位处关闭的全局定位
2.在设置->QQ->定位处关闭的单个软件的定位功能
下面这片代码判断是上面的哪一种定位
if ([CLLocationManager locationServicesEnabled]) {
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied) {
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"QQ已被禁止使用定位功能" message:@"请在iphone \"设置-QQ-定位服务\" 中允许QQ使用定位服务 " delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"设置", nil];
alertView.tag = 999;
[alertView show];
}
}
else {
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied) {
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"QQ已被禁止使用定位功能" message:@"请在iphone \"设置-隐私-定位服务\" 中允许QQ使用定位服务 " delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"设置", nil];
alertView.tag = 998;
[alertView show];
}
}
根据关闭定位的位置不一样,跳转到不同的页面
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 1) {
if (alertView.tag == 999){//设置-QQ-定位服务
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];;
}
}else if (alertView.tag == 998){//设置-隐私-定位服务(全局定位)
NSURL *url = [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];;
}
}
}