我有一个在Xamarin中开发的iOS应用程序。当应用程序无权访问麦克风时,如果用户尝试从应用程序访问麦克风,我会使用AVAudioSession.SharedInstance().RequestRecordPermission (delegate(bool granted))
检查设置并显示消息。
如果应用程序无权访问摄像头,我现在需要这样做。我需要检查是否为相机授予了权限并相应地显示消息。我怎么能这样做?
答案 0 :(得分:5)
我得到了答案。这就是我所做的:
AVCaptureDevice.RequestAccessForMediaType (AVMediaType.Video, (bool isAccessGranted) => {
//if has access
if(isAccessGranted)
{
//do something
}
//if has no access
else
{
//show an alert
}
});
答案 1 :(得分:2)
你看过这个答案吗? Detect permission of camera in iOS 我认为这是您正在寻找的解决方案:)。
编辑: 以下是移植到C#
的最高投票答案代码// 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();
}