안드로이드 권한 (Permission)

이영준·2023년 4월 5일
0

📌 권한 요청

  • Install time permissions
    • 플레이스토어에 명시된 설치될 때 부여하는 권한
  • Runtime Permissions
    • 실행시 획득해야 하는 권한
    • 코드상으로 구현
  • Special Permissions
    • 플랫폼과 OEM만이 정의할 수 있는 권한

API 마시멜로우 버전부터는 Manifest에 권한을 선언하는 것 만으로 허용을 의미하는 것이 아니라고 한다. 런타임에 Manifest에 선언한 권한을 허용하는 작업을 해줘야 한다.

🔑 Mainfest에 권한 선언

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

🔑 권한 허용 여부에 따라 분기처리

//권한 획득했는지 체크
        if(coarseResult == PackageManager.PERMISSION_GRANTED &&
                fineResult == PackageManager.PERMISSION_GRANTED ){
            init()
        }else{
            findViewById<TextView>(R.id.textView).text = "권한이 없습니다."
            //권한이 없을때 권한 요청창 띄우기
            ActivityCompat.requestPermissions(this, RUNTIME_PERMISSIONS,  PERMISSION_REQUEST_CODE);
        }

위처럼 권한이 허용이 안되었을 때와 됐을 때를 나눠 분기처리를 할 수 있는데,

허용이 안된 경우에 권한 허용 창을 띄울 경우
ActivityCompat.requestPermissions(this, RUNTIME_PERMISSIONS, PERMISSION_REQUEST_CODE);
로 허용을 묻는 액티비티를 불러올 수 있다.

profile
컴퓨터와 교육 그사이 어딘가

0개의 댓글