본문 바로가기
Android/Technic

Android 11 권한 요청, requestPermissions deprecated 대응

by 등촌동 꼬북이 2021. 10. 19.

Android 11에서.. requestPermissions가 deprecated 되었다.

 

그러면 이렇게 하면된다.

ActivityResultLauncher storagePermission;

이렇게 선언해주고 초기화 단계에서

 

storagePermission = registerForActivityResult(new ActivityResultContracts.RequestPermission(), isGranted - > {
    if (isGranted) {
        // Do something
    } else {
        if (shouldShowRequestPermissionRationale(Manifest.permission.READ_EXTERNAL_STORAGE)) {
            // 이거 필요한 권한이라고 설득 메세지?
        } else {
            // 셀프로 권한 설정하라는 메세지
        }
    }
});

이렇게 해주고

 

권한 요청은 이렇게 한다.

 

storagePermission.launch(Manifest.permission.READ_EXTERNAL_STORAGE);

 

이러면 3번째 코드에서 권한 요청하고 그에 맞는 액션을 2번째 코드에서 한다.

댓글