通过iPhone设置应用程序启用麦克风后AVAudioSessionRecordPermissionDenied?

时间:2016-01-12 20:24:58

标签: ios objective-c iphone avaudiosession

我正在使用此代码测试用户是否启用了麦克风权限:

- (void)checkAudioPermissions {
    switch ([[AVAudioSession sharedInstance] recordPermission]) {
        case AVAudioSessionRecordPermissionGranted:
            // Audio permission already granted.
            [self initAudioSession];
            break;
        case AVAudioSessionRecordPermissionDenied:
            // User previously denied the iOS Microphone Permissions
            [self audioDeniedAlert];
            break;
        case AVAudioSessionRecordPermissionUndetermined:
            // Initial state before a user has made any choice
            [self preRequestAudioRecordingPermission];
            break;
        default:
            break;
    }
}

如果我为我的应用禁用了麦克风,则会触发AVAudioSessionRecordPermissionDenied案例并向用户显示UIAlertView,这样用户就可以打开“设置应用”。

如果我打开设置应用,启用麦克风,点击屏幕左上角的< Back to App按钮,然后重新运行switch ...它跳过{{1并再次运行AVAudioSessionRecordPermissionGranted个案。

如果我终止并重新启动应用,则会触发AVAudioSessionRecordPermissionDenied案例。

重新运行AVAudioSessionRecordPermissionGranted时是否需要执行某些操作,以便在不重新启动应用程序的情况下触发switch

感谢您的帮助。

0 个答案:

没有答案