안녕하세요.
갤럭시S 에서 GPS 성능을 확인하기 위해서 NMEA data를 볼려고,
locationManager.addNmeaListener(nmeaListener);
private final GpsStatus.NmeaListener nmeaListener = new GpsStatus.NmeaListener() {
@Override
public void onNmeaReceived(long timestamp, String nmea) {
}
을 구현 했는데, listener로 이벤트가 오지 않고 있습니다.
같은 모듈을 디자이어, 넥원, 모토로이(2.1r1)에서는 정상적으로 listening 이 됩니다.
갤럭시S에서는 LocationManager에 addNmeaListener와 GpsStatus.NmeaListener를 구현 하지 않는 건지요?
이게 donut 버전까지는 지원하지 않다가, 2.0이상 부터 지원하는 기능으로 알고 있는데,
삼성 갤럭시S는 다른 API 또는 다른 접근 방법이 있는지 궁금하네요?
만약 위의 API를 지원하지 않는다면, 기존 마켓에 있는 app중 NMEA raw data를 직접적으로 읽어와서 구현한 트랙킹 시스템이나,
navi등이 동작하지 않을것 같은데.. 흐음.
흐음.. 구글에서는 2.1 license내줄때 특정 몇몇 모듈은 구현 하지 않아도 내주는건지....
펌웨어는 DF21 에서 동작안해서 DG14 버전으로 변경했는데도 동일하게 안되네요.
감사합니다.
안드로메다와 아이뽕 분석 하는중~
공간 측위 관련과 Open GL 공부중... >..<
얻어오는 우회 적인 방법이 있긴 합니다.
prebuilt 된 TMAP를 실행 시킨후 GPS 가 fix된 상태에서 종료하지 말고 홈키 눌러서 나올경우,
NmeaListener가 동작합니다. ;;;
즉 기능은 들어있으나, 사용하지는 못하는 상태인거죠.
이게 사업자 요구 사항으로 막아 버린건지.. 안되는 이유는 삼성 개발자만 알수 있을거 같네요.
근데 웃긴것은 TMAP을 실행할때, 환경설정 메뉴에서 GPS on, GPS 도우미 on으로 켜서 들어가면,
TMAP이 안잡힙니다.
GPS off, 하고 TMAP을 실행해야, TMAP에서 강제로 환경설정 GPS on, GPS 도우미 on를 합니다.
이상태로 있으면 GPS 가 잡히고 홈키 눌러서 만드신 app를 실행하면 아마 NmeaListener가 동작할 겁니다. ^^;
TMAP을 프로세스 킬로 죽이면 그 이후에는 TMAP없어도 정상적으로 이벤트가 오는데,
TMAP를 정상 종료 하면 다시 NmeaListener가 동작하지 않게 됩니다.
SKT 사업자 요구 사항으로 OEM단에서 gps nmea report callback 함수를 막아버린건지..
아님 개발자 실수 인건지는 몰겠네요.
해외 출시된 갤S가 정상적으로 nmealistener가 동작한다면 사업자 요구사항이었겠죠 ^^;
전 돈은 없어서 GPS Nmea monitor는 안사봤는데. 거기서도 안되는 거군요. 큭
쩝. 보스는 왜 안되는지 알아보라는데. 우짜 알아봐야할지 ㅁ-;
디자이어, 넥원, 모토로이는 정상적으로 동작하는데..
갤S만 문제네요. 큭




저도 동일한 문제로 고민하고 있다가 검색중에 이 글 발견하니 반가워서 댓글 씁니다.
NMEA 데이터 수신이 안되어서 혹시라도 제가 구현을 잘 못한것이 아닌가 해서
chartcross 에서 나온 GPS NMEA Monitor 로 테스트 해보았지만 역시나 안찍히네요.
방금 확인해보니 Galaxy A(M100S)에서는 잘 되네요.