[flutter] permission_handler를 사용하여 쓰기 방지된 저장소에 대한 접근 권한 요청하기

안드로이드 11부터는 쓰기 방지된 저장소에 대한 접근 권한을 요청하기 위해 새로운 런타임 권한이 필요합니다. Flutter 앱에서 이러한 권한을 요청하려면 permission_handler 패키지를 사용할 수 있습니다.

permission_handler 패키지 추가

먼저, permission_handler 패키지를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음과 같이 패키지를 추가합니다:

dependencies:
  permission_handler: ^8.2.6

패키지를 추가한 후에는 터미널에서 flutter pub get 명령어를 실행하여 패키지를 설치합니다.

쓰기 방지된 저장소에 대한 권한 확인

앱이 실행될 때, 쓰기 방지된 저장소에 대한 권한이 필요한 지 확인해야 합니다. permission_handler 패키지를 사용하여 이를 확인할 수 있습니다. 다음은 해당 권한이 부여되었는지 확인하는 예제 코드입니다:

import 'package:permission_handler/permission_handler.dart';

Future<void> checkStoragePermission() async {
  PermissionStatus status = await Permission.storage.status;
  if (!status.isGranted) {
    // 쓰기 방지된 저장소에 대한 권한이 부여되지 않았을 때 처리할 작업
  }
}

PermissionStatus 열거형을 사용하여 현재 권한 상태를 확인합니다.

쓰기 방지된 저장소에 대한 권한 요청

권한이 부여되지 않은 경우, 사용자에게 권한을 요청해야 합니다. 다음은 permission_handler 패키지를 사용하여 쓰기 방지된 저장소에 대한 권한을 요청하는 예제 코드입니다:

Future<void> requestStoragePermission() async {
  PermissionStatus status = await Permission.storage.request();
  if (status.isGranted) {
    // 권한이 부여된 후 처리할 작업
  }
}

request() 메서드를 사용하여 권한을 요청하고, 권한이 부여되면 이에 대한 처리를 수행합니다.

이제 permission_handler 패키지를 사용하여 Flutter 앱에서 쓰기 방지된 저장소에 대한 접근 권한을 요청하는 방법을 알아보았습니다.

참고 자료