0

如何检查用户是否已响应位置警报

“App 想使用您当前的位置”或“App 想向您发送推送通知”</p>

我不在乎用户选择哪个选项我只需要知道警报是否被解除,,

4

3 回答 3

1

当用户关闭此警报时,您不会直接收到消息,但您可以实现 CLLocationDelegate 的- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status方法。在此和检查 CLLocationManager 的静态authorizationStatus属性之间,您通常可以确定用户是否在您的应用中允许定位服务。

于 2013-01-30T15:31:26.007 回答
0

苹果禁止它,所以你不能这样做!

于 2013-01-30T15:56:15.333 回答
-2

编辑:啊哈我现在注意到你错误地用uialertview.

对于位置警报,您可以执行以下操作:

- (void)locationManager:(CLLocationManager *)manager
   didFailWithError:(NSError *)error {

    if (error.code ==  kCLErrorDenied) {
        NSLog(@"Location manager denied access - kCLErrorDenied");

        UIAlertView *alert = 
              [[UIAlertView alloc] initWithTitle:@"Location issue" 
                                         message:@"Your location cannot be determined." 
                                        delegate:self 
                               cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
    } 
} 

对于推送通知,您可以执行以下操作(尽管用户可能已响应或未响应):

UIRemoteNotificationType status = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (status == UIRemoteNotificationTypeNone) {

     NSLog(@"User is not subscribed to receive push notifications");
}
于 2013-01-30T15:13:37.887 回答