コード例 #1
0
        public void ShowLocationPermissionsForAuthorizationType(ClusterLocationAuthorizationType authorizationType, string requestTitle, string message, string denyButtonTitle, string grantButtonTitle, ClusterPrePermissionCompletionHandler completionHandler)
        {
            if (requestTitle.Length == 0)
            {
                requestTitle = @"Access Location?";
            }
            denyButtonTitle  = GetTitleForType(ClusterTitleType.Deny, denyButtonTitle);
            grantButtonTitle = GetTitleForType(ClusterTitleType.Request, grantButtonTitle);

            var status = CLLocationManager.Status;

            if (status == CLAuthorizationStatus.NotDetermined)
            {
                _locationPermissionCompletionHandler = completionHandler;
                _locationAuthorizationType           = authorizationType;
                _preLocationPermissionAlertView      = new UIAlertView(requestTitle, message, new AlertViewDelegate(this), denyButtonTitle, grantButtonTitle);
                _preLocationPermissionAlertView.Show();
            }
            else
            {
                if (completionHandler != null)
                {
                    completionHandler(LocationAuthorizationStatusPermitsAccess(status),
                                      ClusterDialogResult.NoActionTaken,
                                      ClusterDialogResult.NoActionTaken);
                }
            }
        }
コード例 #2
0
        public void ShowLocationPermissionsForAuthorizationType(ClusterLocationAuthorizationType authorizationType, string requestTitle, string message, string denyButtonTitle, string grantButtonTitle, ClusterPrePermissionCompletionHandler completionHandler)
        {
            if (requestTitle.Length == 0)
            {
                requestTitle = @"Access Location?";
            }
            denyButtonTitle = GetTitleForType (ClusterTitleType.Deny, denyButtonTitle);
            grantButtonTitle = GetTitleForType (ClusterTitleType.Request, grantButtonTitle);

            var status = CLLocationManager.Status;
            if (status == CLAuthorizationStatus.NotDetermined)
            {
                _locationPermissionCompletionHandler = completionHandler;
                _locationAuthorizationType = authorizationType;
                _preLocationPermissionAlertView = new UIAlertView (requestTitle, message, new AlertViewDelegate (this), denyButtonTitle, grantButtonTitle);
                _preLocationPermissionAlertView.Show ();
            }
            else
            {
                if (completionHandler != null)
                {
                    completionHandler (LocationAuthorizationStatusPermitsAccess (status),
                        ClusterDialogResult.NoActionTaken,
                        ClusterDialogResult.NoActionTaken);
                }
            }
        }