[kotlin] 확장 함수를 사용하여 앱의 권한 관리하는 방법은?
먼저, Context
클래스에 hasPermission()
이라는 확장 함수를 작성하여 특정 권한이 승인되었는지 확인할 수 있습니다.
fun Context.hasPermission(permission: String): Boolean {
return ContextCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED
}
이제 앱의 코드에서는 다음과 같이 해당 확장 함수를 사용하여 특정 권한이 승인되었는지 간단하게 확인할 수 있습니다.
if (context.hasPermission(Manifest.permission.CAMERA)) {
// Camera permission is granted
} else {
// Camera permission is not granted
}
위의 예시에서는 Context
클래스를 대상으로 특정 권한을 확인하는 확장 함수를 작성했지만, 다른 클래스나 기능에 대해서도 비슷한 방식으로 확장 함수를 작성하여 사용할 수 있습니다.
이와 같이 확장 함수를 활용하여 권한 관리 코드를 보다 간편하고 읽기 쉽게 만들 수 있습니다.