티스토리 뷰

#1/Android

권한 관련

_쿠나 2021. 5. 10. 17:49

 

권한을 확인할 권한 목록은 아래와 같이 작성한다.

var permission_list = arrayOf(
    Manifest.permission.CAMERA,
    Manifest.permission.READ_PHONE_STATE
    // 기타 등등
    )

 

권한을 확인할 때는 메소드 하나 만들자.

fun checkPermission(){
        //버전 확인 
        if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M){ 
            return 
        }
        //버전 마시멜로우 이상일 때
        for(permission in permission_list){
            //권한 중 없는 게 있는 지 확인한다.
            var chk = checkSelfPermission(Manifest.permission.CAMERA)
            //없는 게 있으면 팝업으로 권한을 물어본다.
            if(chk == PackageManager.PERMISSION_DENIED){
                requestPermissions(permission_list, 0)
                break
            }
        }
    }

 

권한 설정 직후 작업을 하고자 할 때 사용되는 메소드 onRequestPermissionResult

//권한 팝업 창 사라진 후 자동으로 호출, 그 뒤 작업을 작성
    //권한 다 허용되면 이 작업은 이루어지지 않음
    override fun onRequestPermissionsResult(
    	requestCode: Int, 
    	permissions: Array<out String>, 
    	grantResults: IntArray) {
        //파라미터 permissions -> 체크한 권한들 배열.. grantResults -> 해당 권한이 grant 되어있는지
        super.onRequestPermissionsResult(requestCode, permissions, grantResults)
        //배열에서 권한결과 확인
        for (idx in grantResults.indices) {
            //.indices 하면 인덱스 번호가 들어오게 된다...
            var p = permission_list[idx]
            if (grantResults[idx] == PackageManager.PERMISSION_GRANTED) {
                binding.textView.append("${p} 허용")
            } else {
                binding.textView.append("${p} 허용 X")
            }
        }
    }

이렇게 하고나면 결과는

android.permission.권한이름 허용

or

android.permission.권한이름 허용 X

라고 나타난다.

 

모든 권한이 다 승인된 후 앱을 다시 껐다 켜면 메소드가 실행되지 않음

 

 

728x90

'#1 > Android' 카테고리의 다른 글

[Android] requireActivity  (0) 2021.05.14
비트맵  (0) 2021.05.14
[Android/Kotlin] for문  (0) 2021.05.10
[Android] Navigation 내비게이션  (0) 2021.05.07
[Android] Activity, Fragment Activity  (0) 2021.05.07
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함