[Android/Kotlin] 구글 MAP 사용(Debug) (3) - 위치 정보 액세스 권한 Permission 체크

SoyoungLee·2022년 7월 13일
0

안드로이드/코틀린

목록 보기
25/70
post-thumbnail

💌[안드로이드/코틀린] 구글 MAP 사용(Debug) (3) - 위치 정보 액세스 권한 Permission 체크

📌 위치 정보 액세스 권한

  • 앱에 위치 정보를 한 번만 또는 정의된 시간 동안 공유하거나 수신하는 기능이 포함되어 있으면 이 기능에는 포그라운드 위치 정보 액세스 권한이 필요
  • 앱에서 ACCESS_COARSE_LOCATION 권한이나 ACCESS_FINE_LOCATION 권한을 요청

AndroidManifest.xml

<!--네트워크로만 위치 측정-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!--GPS 센서를 사용하여 위치 측정-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

1) ACCESS_COARSE_LOCATION만 요청할 때 표시되는 시스템 권한 대화상자

2) ACCESS_FINE_LOCATION 및 ACCESS_COARSE_LOCATION을 모두 요청할 때 표시되는 시스템 권한 대화상자

정확한 위치 / 대략적인 위치

  • 사용자 선택이 권한 부여에 영향을 미침

📌 위치 권한이 제공됐는지 확인

private fun checkPermissions(): Boolean {
        val fineLocalPermission = ContextCompat.checkSelfPermission(
            binding.root.context,
            Manifest.permission.ACCESS_FINE_LOCATION
        )
        val coarseLocationPermission = ContextCompat.checkSelfPermission(
            binding.root.context,
            Manifest.permission.ACCESS_COARSE_LOCATION
        )
        
        // 권한이 부여됐으면 지정된 요청과 지정된 콜백에 전달된 결과로 위치 업데이트를 요청
        if (fineLocalPermission == PackageManager.PERMISSION_GRANTED && coarseLocationPermission == PackageManager.PERMISSION_GRANTED) {
            mFusedLocationClient?.requestLocationUpdates(locationRequest!!, myLocationCallBack!!, null)
            return true
        }

        return false
}

📌

출처 : https://developer.android.com/training/permissions/requesting?hl=ko

profile
Android Developer..+ iOS 슬쩍 🌱 ✏️끄적끄적,,개인 기록용 👩🏻‍💻

0개의 댓글