1

我们可以通过不关闭应用程序并转到设置页面来调用位置服务警报再次弹出。就像一些用户不知道一旦弹出是否必须选择“允许或不允许”。问题的任何解决方案。

4

2 回答 2

4

如果您的要求是提醒用户他的位置服务状态,您可以提供自己的警报,并可以将用户导航到设置页面。

      - (void) showLocationAlert {

                if ([CLLocationManager authorizationStatus] != kCLAuthorizationStatusAuthorized) {

                        //Check whether Settings page is openable (iOS 5.1 not allows Settings page to be opened via openURL:)
                        if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]]) {
                            UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Error" message:@"You must enable location service,Turn on location service to allow \"YourApp\" to determine your location" delegate:self cancelButtonTitle:@"Settings" otherButtonTitles:@"Cancel", nil];
                            [alert show];

                        }
                        else {
                            UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Error" message:@"You must enable location service" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
                            [alert show];
                        }
                 }
            }



  - (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex  {
          if (buttonIndex == 0) {
                [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
            }

        }
于 2012-09-13T05:12:43.263 回答
0

不幸的是,除非设备越狱,否则无法这样做。但是,将用户路由到设置窗格中的正确区域相对简单。

于 2012-09-13T05:29:34.360 回答