flutter 개발시 권한 획득하기 (camera, storage 등의 권한 획득 방법)
FE/Flutter2023. 10. 1. 12:58permission_hanlder 라이브러리
flutter 에서 카메라와 같이 기기 권한 획득을 위해 편리하게 사용할 수 있는 라이브러리가 있습니다.
본 글에서는 permission_hanlder
라이브러리를 사용하면 쉽게 권한 획득을 할 수 있기 때문에, 해당 라이브러리를 사용해서 권한 획득하는 방법에 대해 소개합니다. 우선 아래 명령어를 통해 설치합니다.
flutter pub add permission_handler
권한 획득하기
가이드 문서에도 설명이 잘되어 있으나 간단하게 정리하면, 아래와 같이 권한 획득 요청을 할 수 있습니다.
if (await Permission.camera.request().isGranted) {
// 권한 획득에 성공했을때에 대한 처리 로직
} else {
// 실패한 경우에 대한 처리 로직
}
만약, location 에 대한 권한을 획득하고 싶다면, 아래와 같이 하면 됩니다.
if (await Permission.location.request().isGranted) {
//...
}
Trouble Shooting
Android13에서 storage 권한 획득
android13에서 앱 개발을 하다가 파일을 쓰는 작업이 필요하여 await Permission.storage.request()
를 이용하여 권한 획득 요청을 했으나, 무조건 PermissionStatus.permanentlyDenied
를 반환하는 이슈가 있었습니다.
AndroidManifest.xml
에 빠진 권한이 있는지 확인해 봤으나 문제는 없어 보였습니다.
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
권한 획득이 안돼서 검색하다보니 permission_handler
github 의 올라온 이슈에 동일한 현상이 있어서 확인해봤습니다.
android13에서는 파일을 쓰기위해서 권한을 요청할 필요없이 스토리지에 접근이 가능하다는 것을 알았습니다.
Reference
'FE > Flutter' 카테고리의 다른 글
Flutter에서 WidgetsFlutterBinding.ensureInitialized() 역할 (0) | 2024.05.03 |
---|---|
Named Routing을 사용한 라우팅(화면전환) 방법 (Flutter) (0) | 2023.12.03 |
Flutter(플러터) 설치 및 개발 환경 만들기 (0) | 2023.11.07 |
flutter 프로젝트에 커스텀 폰트(font) 적용하기 (0) | 2023.09.29 |
flutter에서 webview 사용하기 (webview_flutter 라이브러리 사용) (0) | 2023.09.28 |
IT 기술에 대한 글을 주로 작성하고, 일상 내용, 맛집/숙박/제품 리뷰 등 여러가지 주제를작성하는 블로그입니다. 티스토리 커스텀 스킨도 개발하고 있으니 관심있으신분은 Berry Skin을 검색바랍니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!