Запрос разрешения во Флаттере

#flutter #permissions

Вопрос:

Как я могу запросить разрешение на доступ к микрофону устройства для записи звука в Flutter? Я пытался найти это, но не смог найти четкого ответа.

Комментарии:

1. Существует пакет, вызываемый permission_handler для запроса разрешения: pub.dev/пакеты/permission_handler

2. @StewieGriffin Да, я знаю об этом пакете. Но как мне нужно это использовать, вот чего я не получаю. Я добавил строку: ожидание разрешения.микрофон.запрос(); Но это не работает.

3. можете ли вы показать нам, чего вы достигли до сих пор?

Ответ №1:

Вы могли бы сделать что-то вроде этого:

 await _askingPermission();

Future<String> _askingPermission() async {
  final PermissionStatus permissionStatus =
    await _getPhonePermission();
  if (permissionStatus == PermissionStatus.granted){
    //permission is granted
  } else{
    //permission denied or undermined
  }
}

Future<PermissionStatus> _getPermission() async {
  final PermissionStatus permission = await Permission.microphone.status;
  if (permission != PermissionStatus.granted amp;amp;
      permission != PermissionStatus.denied) {
    final Map<Permission, PermissionStatus> permissionStatus =
        await [Permission.microphone].request();
    return permissionStatus[Permission.microphone] ??
        PermissionStatus.undetermined;
  } else {
    return permission;
  }
}
 

Ответ №2:

Добавьте эту строку в свой файл манифеста

 <uses-permission android:name="android.permission.RECORD_AUDIO" />