안드로이드 개발 질문/답변
(글 수 45,052)
Android 1.5 에서는 공개된 소스인 YGPS Satellites 를 보고서
GPS 의 위성숫자, SNR 및 PNR 을 얻어 왔습니다.
하지만 Android 2.0 에서는 위 방법대로 하면 Exception 이 발생을 합니다.
IPC 를 이용하여 플랫폼의 특정 서비스로 부터 관련 값을 얻었던 것 같은데
사용하면서도 정교한 방법은 아니라고 생각은 하였습니다.
하여튼 Android 2.0 에서 GPS 의 위성숫자, SNR 및 PNR 을 얻고 싶은데
어떻게 얻어야 할지 감이 잡히지 않는군요.
여러 어플리케이션에서 GPS 의 신호강도를 보여 주고 있는 것을 보면
방법이 있는 것 같은데 고수님들의 조언을 부탁을 드립니다.
2010.04.09 16:30:04
인터페이스에 onNmeaReceived(...) 함수가 추가를 해야 하는데
참조 소스에 관련 함수 내용이 빠져 있군요.
공개된 소스에서 관련 내용만 추가를 하면 위성 숫자 및 위성 신호 세기 등을
표현할 수 있는 프로그램을 만들 수 있습니다.
2010.04.11 11:37:52
안드로이드 2.0 의 경우 GpsStatus.NmeaListener 을 이용하여 GSV 정보를 까 보거나 하면 되겠지만
아주 간단한 방법은 기존의 안드로이드 1.5부터 존재하는
GpsStatus.Listener mGpsStatusListener 을 등록하고 onGpsStatusChanged() 함수에서 event 가 GPS_EVENT_SATELLITE_STATUS 일 경우,
GpsStatus gs;
gs = lm.getGpsStatus(null);
와 같이 GPS 정보를 얻게 되면 얻고자 하시는 PRN/SNR/Azimuth/Evevation 을 모두 얻으실수 있습니다.
아주 간단한 방법은 기존의 안드로이드 1.5부터 존재하는
GpsStatus.Listener mGpsStatusListener 을 등록하고 onGpsStatusChanged() 함수에서 event 가 GPS_EVENT_SATELLITE_STATUS 일 경우,
GpsStatus gs;
gs = lm.getGpsStatus(null);
와 같이 GPS 정보를 얻게 되면 얻고자 하시는 PRN/SNR/Azimuth/Evevation 을 모두 얻으실수 있습니다.



