[Android] 퍼미션 권한체크(테드퍼미션)

by 조쉬 posted Sep 14, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

우선 사용하기 위해서 gradle을 추가해줍니다.

implementation 'gun0912.ted:tedpermission:2.2.3'

 

PermissionListener로 접근 허용/거부 시 실행할 코드 작성가능하고,

TedPermission클래스를 이용해서 권한체크에 필요한 설정을 하실 수 있습니다.

PermissionListener permissionListener = new PermissionListener() {
	@Override
    public void onPermissionGranted() {
		// 접근허용 시 실행할 코드
	}

    @Override
	public void onPermissionDenied(List<String> deniedPermissions) {
		// 접근거부 시 실행할 코드
	}
};

TedPermission.with(this)
	.setPermissionListener(permissionListener)
    .setDeniedMessage("접근 거부하셨습니다.\n[설정] - [권한]에서 권한을 허용해주세요.")
    .setPermissions(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE)
    .check();

- setRationalMessage() : 권한체크 하기전 Dialog 메시지 설정

- setDeniedMessage() : 권한 거부했을 때 띄울 Dialog 메시지 설정

- setDeniedCloseButtonText() : 권한 거부 시 뜨는 Dialog의 [닫기]버튼 텍스트 설정

- setGotoSettingButtonText() : 권한 거부 시 [설정]버튼 텍스트 설정

- setGotoSettiongButton() : 권한 거부 시 [설정]버튼을 보여줄지 설정 (true / false)

 

※주의

TedPermission 클래스에서 setPermissions를 여러개 추가하시면 안됩니다.

저장공간에 대한 permission의 경우 .

setPermissions(Manifest.permission.WRITE_EXTERNAL_STORAGEManifest.permission.READ_EXTERNAL_STORAGE)

와 같이 적어주셔야 됩니다.

저처럼 setPermissions 두번 작성했다가 못찾으면 고통받습니다.

.setPermissions(Manifest.permission.WRITE_EXTERNAL_STORAGE)

.setPermissions(Manifest.permission.READ_EXTERNAL_STORAGE)


Articles

1 2 3 4 5 6 7 8 9 10