permission_handler: ^8.3.0
위의 코드 작성 후
코드내에 나타난 전구 icon을 클릭하고 "pub get 어쩌구" 클릭하면 알아서 패키지 설치됨.
import 'package:permission_handler/permission_handler.dart';
코드 작성
android.useAndroidX=true
android.enableJetifier=true
위 코드 없으면 추가하기.
필자와 같이 코드를 작성해도 안되면
compileSdkVersion 31
위 코드로 수정해야함.
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
위 코드를 삽입.
getPermission() async {
var status = await Permission.contacts.status;
if (status.isGranted) {
print('허락됨');
} else if (status.isDenied) {
print('거절됨');
Permission.contacts.request();
//앱 권한설정 화면으로 이동
//openAppSettings();
}
}
위의 함수를 실행하면 연락처 접근 팝업창이 뜲.
openAppSettings 함수는 앱의 권한설정 화면으로 이동하게 해줌.
AppBar(
title : Text('앱제목'),
actions : [
IconButton(onPressed: (){ getPermission(); }, icon : Icon(Icons.contacts))
]
)
사용 예시