permission_handler: ^8.3.0 을 입력dependencies:
flutter:
sdk: flutter
permission_handler: ^8.3.0
import 'package:permission_handler/permission_handler.dart'; 를 main.dart 파일 가장 상단에 추가android.useAndroidX=true
android.enableJetifier=true
andorid/app/build.gradle 파일
android {
compileSdkVersion 31
android/app/main/AndroidManifest 파일에 코드 추가
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
Permission.contacts 에서 contacts 말고 camera, location 같은 거 써서 카메라, 위치 권한 허락 받을 수 있음
Permission.contacts.status 라고 사용하면 연락처 권한 상태를 출력할 수 있음
getPermission() async {
var status = await Permission.contacts.status;
if (status.isGranted) {
print('허락됨');
} else if (status.isDenied) {
print('거절됨');
Permission.contacts.request(); // 현재 거절된 상태니 팝업창 띄워달라는 코드
}
}
Permission.contacts.request() 는 사용자에게 연락처 사용 권한을 달라고 요청
openAppSettings(); 을 작성하면 앱 설정을 오픈해줌