Android 런타임 권한

pass·2023년 3월 14일
0

Android

목록 보기
11/36

Android에서는 설치 시간 권한, 런타임 권한, 특별 권한을 비롯하여 권한을 다양한 유형으로 분류한다. 각 권한 유형은 시스템에서 앱에 권한을 부여할 때 앱에서 액세스할 수 있는 제한된 데이터 범위와 앱에서 실행할 수 있는 제한된 작업 범위를 나타낸다.

👉 그 중 런타임 권한은 앱에서 런타임 권한을 요청해야 제한된 데이터에 액세스하거나 제한된 작업을 실행할 수 있다.



🎈 런타임 권한

✔ 공식문서를 보면 아래와 같이 런타임 권한에 대하여 설명한다.

위험한 권한을 선언하고 앱이 Android 6.0(API 수준 23) 이상을 실행하는 기기에 설치된 경우, 가이드의 단계에 따라 위험한 런타임 권한을 요청해야 한다.

참고 : https://developer.android.com/training/permissions/requesting?hl=ko



✔ 사용하고자 하는 권한이 어떤 종류인지 알아보기 위해서 아래 사이트를 참조하면 쉽게 알 수 있다.

참고 : https://developer.android.com/reference/android/Manifest.permission



⚡ 권한 요청 예제

if (ContextCompat.checkSelfPermission(requireContext().applicationContext, Manifest.permission.권한종류) != PackageManager.PERMISSION_GRANTED) {
	// 권한이 허용되어있지 않은 경우
	if (ActivityCompat.shouldShowRequestPermissionRationale(requireActivity(), Manifest.permission.권한종류)) {
		// 이미 권한을 거절한 경우
	} else {
		// 처음 권한 요청을 할 경우 권한 승인 요청
		registerForActivityResult(ActivityResultContracts.RequestPermission()) {
			when (it) {
				true -> {
					// 승인
				}
				false -> {
					// 거절
				}
			}
		}.launch(Manifest.permission.권한종류)
	}
}
profile
안드로이드 개발자 지망생

0개의 댓글