我有一个Note2,由于WNRO而停止提供正确的GPS位置信息。

从记录NMEA语句中可以看出,日期输入错误,而且,每两秒钟/分钟就会丢失一次satfix。 Note2使用Broadcom的二进制专有驱动程序(gpsd)与该芯片进行交互。为了查看是否可以解决此问题(就像我在其他设备上所做的一样),我需要知道Android中负责输出NMEA语句的原因。

NMEA语句是否总是由GPS芯片和相应的驱动程序直接输出到命名管道中,还是NMEA语句由LocationManager-framework / API生成?

最佳答案

NMEA语句由GPS芯片生成,例如

通过android.location.GpsStatus.NmeaListener


  用于从GPS接收NMEA语句。


通过实现此接口并调用


  LocationManager#addNmeaListener从GPS接收NMEA数据
  发动机。


https://developer.android.com/reference/android/location/GpsStatus.NmeaListener

这两个引号均表示Android Location API未生成NMEA语句。

注意:由于Note2是旧设备并且很可能正在使用它,因此我引用了不推荐使用的接口(GpsStatus.NmeaListener)。

10-08 01:43