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번째 코드에서 한다.
'Android > Technic' 카테고리의 다른 글
android.app.AlertDialog.THEME_DEVICE_DEFAULT_LIGHT 대체하기 (2) | 2021.10.20 |
---|---|
Bottom Navigation View에서 tooltip 없애기 (2) | 2021.10.20 |
Android 11, targetSdkVersion 30 음성검색 안되는거 해결 (0) | 2021.10.18 |
안드로이드 설정 백그라운드에서 실행 체크 (0) | 2021.10.05 |
Android에서 Service 쓰기 (0) | 2021.08.12 |
댓글