본문 바로가기

안드로이드/안드로이드

[안드로이드] Permission (TedPermission) 권한 요청

Permission이란?

안드로이드 앱을 사용하다보면 오디오, 위치 등 권한을 요청 받아 본 적이 있을 것이다.

 

바로 그 권한이 permission이다.

 

어떤 기능을 구현하기 위해 위치, 카메라 오디오 등의 권한이 필요할 때가 있다.

 

TedPermission은 권한 요청을 손쉽게 구현할 수 있도록 기능을 제공하는 오픈소스이다.

 

https://github.com/ParkSangGwon/TedPermission

 

GitHub - ParkSangGwon/TedPermission: Easy check permission library for Android Marshmallow

Easy check permission library for Android Marshmallow - ParkSangGwon/TedPermission

github.com

 

 

사용 방법

build.gradle

dependencies{
	...
	implementation 'io.github.ParkSangGwon:tedpermission-normal:3.3.0'
	...
}

24.02.29 기준 버전 3.3.0

 

MainActivity.kt

class MainActivity : AppCompatActivity(){
    override fun onCreate(savedInstanceState: Bundle?) {
		...
        
        TedPermission.create()
            .setPermissionListener(permission)
            .setDeniedMessage("권한이 거부되었습니다. 설정 > 권한에서 허용해주세요.")
            .setPermissions(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
            .check()
    }
    
    private val permission = object : PermissionListener{
        override fun onPermissionGranted() {
            Toast.makeText(this@RecordingInterview, "권한 허가", Toast.LENGTH_SHORT).show()
            //TODO your task
        }

        override fun onPermissionDenied(deniedPermissions: MutableList<String>?) {
            Toast.makeText(this@RecordingInterview, "권한 거부", Toast.LENGTH_SHORT).show()
            //TODO your task
        }
    }
}