Request location permissions | Android Developers
포그라운드 액세스 권한
→ 앱에 위치 정보를 한 번 또는 정의된 시간 동안 공유하는 기능이 포함되어 있을 경우 필요
백그라운드 액세스 권한
→ 앱에 위치 정보를 지속적으로 다른 사용자와 공유하는 기능이 포함되어 있을 경우 필요
ACCESS_FINE_LOCATION
→ 앱에서 정확한 위치 정보를 가져올 수 있음
ACCESS_COARSE_LOCATION
→ 앱에서 대락적인 위치 정보를 가져올 수 있음
val permissions = listOf(
permission.ACCESS_FINE_LOCATION, // 반드시 ACCESS_COARSE_LOCATION과 함께 요청
permission.ACCESS_COARSE_LOCATION
)
val deniedPermissions = permissions.filter {
checkSelfPermission(it) == PackageManager.PERMISSION_DENIED
}
if (deniedPermissions.isNotEmpty()) {
requestPermissions(permissions.toTypedArray, 100)
}
사용자가 이전에 ACCESS_COARSE_LOCATION
만 승인했더라도, 액세스 권한을 ACCESS_FINE_LOCATION
으로 업그레이드하도록 재요청할 수 있음