如何读取 GPS 原始数据,更具体地说,我需要卫星伪距。 此数据不提供 NMEA 格式。
最佳答案
卫星伪距在 official API 中不可用 ,既不通过 GpsStatus.Listener 也不通过 GpsStatus.NMEAListener 接口(interface)。
the GpsSatellite class 中唯一可用的信息是:
- PRN
- 方位角
- 海拔
- C/N0
- 一个“usedInFix” bool 值。
Android source code仅从 native 代码中询问这些字段,因此不希望从任何其他 Java API 中获取它。
无论如何,您获取这些数据的最佳方式(不适合 Market-able 应用程序)是探索 Android 源代码,或者找到一个本地 Hook 来获取低级别的数据并通过 JNI 访问,或重新编译完整的操作系统,根据您的需要修改 API(您还需要为此找到相关的 native 代码)。
最后,如果你能得到芯片组发送给你GRS NMEA sentences (您可以通过标准的 NMEAListener 接口(interface)获取它们,困难在于配置芯片组以发送它们)然后您可以计算伪距(这些句子包含卫星的残差)
祝你好运,如果你尝试这些想法,请告诉我!
关于android - 如何获取 GPS 原始数据(卫星伪距)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4250434/