我有一个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)。