[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 클래스를 대상으로 특정 권한을 확인하는 확장 함수를 작성했지만, 다른 클래스나 기능에 대해서도 비슷한 방식으로 확장 함수를 작성하여 사용할 수 있습니다.

이와 같이 확장 함수를 활용하여 권한 관리 코드를 보다 간편하고 읽기 쉽게 만들 수 있습니다.