2012-05-11 28 views
0

我上機器人有一個應用程序當前正在接收NMEA數據GPGSA與方法:接收GPRMC Android中

locationManager.addNmeaListener (new GpsStatus.NmeaListener() { 
@ Override 
public void onNmeaReceived (long timestamp, nmea String) { 
ts = timestamp; 
nm = nmea; 
}}); 

任何機會,而不是在接收GPGSA GPRMC接收數據。

我使用GPS Desire HD進行測試。

+0

沒有人知道如何將GPGSA更改爲GPRMC? – altex

回答

2

當您使用addNmeaListener時,您將收到手機提供的所有GPS語句(在某些情況下根本沒有)。然而,GPGSA只包含衛星DOP信息,所以如果你收到了,你幾乎肯定會得到GPRMC。

我懷疑你的問題是你將所有接收到的句子移動到一個全局變量中,而GPGSA恰好是你讀緩衝區時收到的最後一個句子。你會想這樣的事情:

if (nmea.substring(0,6).equals("$GPRMC")) { 
    ts = timestamp; 
    nm = nmea; 
}