您的位置:首页 > 移动开发 > IOS开发

iOS麦克风权限的检测和获取

2016-12-01 11:22 1111 查看

前言

今天接到一个任务,检测应用是否有麦克风的权限,网上找了很多资料,然后终于明白了检测和获取的区别

检测权限

检测就是判断用户是否打开了麦克风的权限

判断方法是这样的

AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio];
switch (authStatus) {
case AVAuthorizationStatusNotDetermined:
//没有询问是否开启麦克风
flag = 1;
break;
case AVAuthorizationStatusRestricted:
//未授权,家长限制
flag = 0;
break;
case AVAuthorizationStatusDenied:
//玩家未授权
flag = 0;
break;
case AVAuthorizationStatusAuthorized:
//玩家授权
flag = 2;
break;
default:
break;
}
return flag;
}


获取权限

获取权限就会弹一个框,让用户选择是否开启这个权限

[audioSession performSelector:@selector(requestRecordPermission:) withObject:^(BOOL granted) {
if (granted) {
bCanRecord = YES;
}
else {
bCanRecord = NO;
}
];


后记

Android判断是否开启的麦克风

在Android6.0 之前只需要在manifest.xml中注册一下就好了,但是Android6.0之后权限管理更加严格了,需要在运行的时候去获取,官网有一个例子,怎么在运行的时候提示用户开启权限,但是其实有个更取巧的方法,在代码里面打开麦克风,如果打开成功,说明用户开启了权限,如果失败,就可以认为玩家关掉了该权限
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 麦克风 权限