[flutter] 플러터 permission_handler를 사용하여 연락처 액세스 권한 요청하기

앱에서 사용자의 연락처에 액세스하려면 Android 및 iOS에서 해당 권한을 요청해야 합니다. Flutter 앱에서는 permission_handler 패키지를 사용하여 간단하게 권한을 요청할 수 있습니다.

permission_handler 패키지 추가하기

먼저, pubspec.yaml 파일에 permission_handler 패키지를 추가합니다.

dependencies:
  permission_handler: ^8.1.3

이후 터미널에서 flutter pub get 명령어를 실행하여 패키지를 가져옵니다.

Android와 iOS 권한 설정

Android:

AndroidManifest.xml 파일에 다음 권한을 추가합니다.

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

iOS:

Info.plist 파일에 아래의 코드를 추가하여 연락처 읽기 권한을 설정합니다.

<key>NSContactsUsageDescription</key>
<string>We need access to read your contacts.</string>

permission_handler 사용하여 권한 요청하기

permission_handler 패키지를 사용하여 앱에서 연락처 액세스 권한을 요청할 수 있습니다.

import 'package:permission_handler/permission_handler.dart';

void main() {
  Future<void> requestContactsPermission() async {
    var status = await Permission.contacts.request();
    if (status.isGranted) {
      // 권한이 허용됨
    } else if (status.isPermanentlyDenied) {
      // 사용자가 영구적으로 권한을 거부한 경우
    } else {
      // 다른 모든 경우
    }
  }
}

위의 코드에서 Permission.contacts.request()를 호출하여 앱 사용자에게 연락처 액세스 권한을 요청할 수 있습니다. 권한이 부여되었는지, 영구적으로 거부되었는지 또는 다른 경우에 대한 처리를 적절히 수행할 수 있습니다.

위와 같이 permission_handler 패키지를 사용하여 Flutter 앱에서 연락처 액세스 권한을 요청할 수 있습니다. 앱의 사용성을 고려하여 권한 요청 시 사용자에게 적절한 안내 메시지를 제공하는 것이 중요합니다.