작성
·
39
0
아래와 같이 타입캐스팅이 안되는 이유가 무엇일까요??
private fun isLocationServicesAvailable() : Boolean{
// LocationManager로 타입캐스팅
val locationManager = getSystemService(LOCALE_SERVICE) as LocationManager
return (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) || locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
재철님의 코드에서 getSystemService(LOCALE_SERVICE) as LocationManager
부분에 문제가 있습니다. 여기서 사용하신 LOCALE_SERVICE
는 위치 정보 관련 서비스가 아니라 지역 설정과 관련된 서비스를 얻기 위한 상수입니다. 위치 정보를 관리하는 LocationManager
를 얻기 위해서는 Context.LOCATION_SERVICE
상수를 사용해야 합니다. 아래는 수정된 코드 예시입니다:
private fun isLocationServicesAvailable() : Boolean {
// LocationManager로 타입캐스팅
val locationManager = getSystemService(Context.LOCATION_SERVICE) as LocationManager
return (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) || locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER))
}
Context.LOCATION_SERVICE
를 사용하여 시스템 서비스를 정확하게 요청하면 LocationManager
로의 타입 캐스팅이 성공적으로 이루어져야 합니다.