안드로이드 개발 질문/답변
(글 수 45,052)
GPS 위치를 수신하여 처리하는 앱입니다.
정확한 위치 수신을 위해 NETWORK_PROVIDER 는 이용하지 않고 GPS_PROVIDER 만을 이용합니다.
위치 요청 구문은 아래와 같습니다.
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 30, mGPSListener);
그런데 여기서 궁금한것이 onLocationChanged 가 처음 발생시 GPS 에 연결된것으로 처리를 하였습니다.
그런데 일부 기기에서 GPS 연결이 잘안되는 경우가 발생하는데 이것에 처리 로직의 문제일까요 아니면 프로그램 외적인
문제일까요?
아니면 최초 연결 처리를 다른 이벤트로 하여야하나요? 그렇게하면 위치 정보가 없어서 처리를 하지 못하는데요
2012.12.04 17:07:20
GPS 연결은 디바이스에서 GPS가 켜저있어야 하고, 실내에서는 GPS 위성을 잡을 수 없으며, 실외라 하더라도 여러가지 방해 요소들로 인해 위성 연결이 잘 안되는 상황에 놓이기 쉽습니다. 이는 GPS를 사용하기에 당연히 고민되어야 하는 부분입니다.
앱의 기획의도를 생각해보시고, 이에 맞게 기술검토를 하신 후 어떻게 구현해야 할 것인가 생각하셔야 할 것 같습니다.
참고로 대부분의 위치서비스 앱들을 보면 일단 네트워크 프로바이더로 위치를 잡고, GPS가 잡힐때까지는 네트워크로 처리하는 앱들이 많습니다.
실내에서 테스트 하신건 아닌지...
실내에서는 GPS_PROVIDER 가 연결되지 않습니다~
따라서 GPS_PROVIDER 가 연결이 안되시면 NETWORK_PROVIDER를 사용하게 처리해야 할듯합니다~