Android GPS:如何从 NMEA 获取正在使用的卫星编号?

Android GPS : How can I get satellites number in use from NMEA?

我用 android 得到了 NMEA 字符串。但我不知道如何才能获得正在使用的卫星编号?

您需要从 nmea 字符串中读取 GGA 字段。它为您提供正在跟踪的卫星数量

GGA - 提供 3D 位置和精度数据的基本修复数据,

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47

其中:

     GGA          Global Positioning System Fix Data
     123519       Fix taken at 12:35:19 UTC
     4807.038,N   Latitude 48 deg 07.038' N
     01131.000,E  Longitude 11 deg 31.000' E
     1            Fix quality: 0 = invalid
                               1 = GPS fix (SPS)
                               2 = DGPS fix
                               3 = PPS fix
                   4 = Real Time Kinematic
                   5 = Float RTK
                               6 = estimated (dead reckoning) (2.3 feature)
                   7 = Manual input mode
                   8 = Simulation mode
     08           Number of satellites being tracked <-- this is what you want
     0.9          Horizontal dilution of position
     545.4,M      Altitude, Meters, above mean sea level
     46.9,M       Height of geoid (mean sea level) above WGS84
                      ellipsoid
     (empty field) time in seconds since last DGPS update
     (empty field) DGPS station ID number
     *47          the checksum data, always begins with *

然后您可以使用String::split()方法读取被跟踪的卫星数。