我可以通过NMEA获得Android上的GPS定位状态吗

我可以通过NMEA获得Android上的GPS定位状态吗,android,gps,Android,Gps,我想在我的应用程序中显示一个GPS状态图标,以指示用户是否有有效的修复程序。似乎有几种方法可以做到这一点,包括直接使用API(根据上面的一些问题,这似乎效果很差)和猜测GPS定位在经过一定时间后被删除() Android显然也可以让你直接抓取NMEA字符串: 其中一个NMEA令牌($GPGGA)为您提供修复质量信息: GGA Global Positioning System Fix Data 123519 Fix taken at 12:35:19 UTC

我想在我的应用程序中显示一个GPS状态图标,以指示用户是否有有效的修复程序。似乎有几种方法可以做到这一点,包括直接使用API(根据上面的一些问题,这似乎效果很差)和猜测GPS定位在经过一定时间后被删除()

Android显然也可以让你直接抓取NMEA字符串:

其中一个NMEA令牌($GPGGA)为您提供修复质量信息:

 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)
                           7 = Manual input mode
                           8 = Simulation mode
 08           Number of satellites being tracked
 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 *
似乎我可以检查我的修复状态不是0、6、7或8,看看是否有修复。但我有几个问题:

  • 期望所有Android GPS接收器都提供NMEA字符串是否合理

  • 如果1为“是”,所有Android GPS接收器是否会定期提供NMEA字符串

  • 我玩过的单独的/USB GPS接收器只是定期广播NMEA字符串(即,即使没有修复),因此很容易检查是否有修复。我不知道这种行为是否由任何一种标准来定义,并且是我可以信赖的


    我知道并不是所有的GPS接收机都广播NMEA字符串,有些接收机发送封闭协议。。。但我不知道这些接收器是否用于典型的零售安卓设备。

    你找到问题的答案了吗?我也有类似的问题。也许你能帮我