Разрешение на чтение камеры для iOS в Xamarin

У меня есть приложение для iOS, разработанное на Xamarin. Когда у приложения нет разрешения на доступ к микрофону, если пользователь пытается получить доступ к микрофону из приложения, я проверяю настройки с помощью AVAudioSession.SharedInstance().RequestRecordPermission (delegate(bool granted)) и отображаю сообщение.

Теперь мне нужно сделать то же самое, если у приложения нет разрешения на доступ к камере. Мне нужно проверить, предоставлено ли разрешение для камеры, и отобразить соответствующее сообщение. Как я могу это сделать?


person Sakina Sugra    schedule 02.07.2015    source источник


Ответы (2)


Вы проверили этот ответ? Обнаруживать разрешение камеры в iOS Я думаю, это решение, которое вы ищете: ).

РЕДАКТИРОВАТЬ: вот код ответа с наибольшим количеством голосов, перенесенный на С #

// replace the media type to whatever you want
AVAuthorizationStatus authStatus = AVCaptureDevice.GetAuthorizationStatus(AVMediaType.Video);
switch (authStatus)
{
    case AVAuthorizationStatus.NotDetermined:
        break;
    case AVAuthorizationStatus.Restricted:
        break;
    case AVAuthorizationStatus.Denied:
        break;
    case AVAuthorizationStatus.Authorized:
        break;
    default:
        throw new ArgumentOutOfRangeException();
}
person Roosevelt    schedule 02.07.2015
comment
Спасибо. Да, я прочитал эту ссылку. Мне нужна была помощь конкретно по Xamarin. - person Sakina Sugra; 02.07.2015

У меня есть ответ. Вот что я сделал:

AVCaptureDevice.RequestAccessForMediaType (AVMediaType.Video, (bool isAccessGranted) => {                    
   //if has access              
   if(isAccessGranted)
   {
      //do something
   }
   //if has no access
   else
   {
      //show an alert
   }
});
person Sakina Sugra    schedule 02.07.2015