android - 如何获取 GPS 原始数据(卫星伪距)?

标签 android gps nmea

如何读取 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/

相关文章:

ios - 检测 iPhone 中的 GPS 硬件

c - GPS NMEA 字符串的解析代码

c - 如何用中断串口读取串口?

android - 用于在 Activity 之间传递数据的 WeakReferences 的 HashMap

android - +1 点击在与 Google+ 的 Android 集成中不起作用

android - 未检索到纬度和经度

java - 检查 GPS 和/或移动网络位置是否已启用

java - 不能影响始终为 null 的简单 Double[] 表的值

java - 如何监听或轮询事件

java - 如何从父类(super class)到子类重用代码 Intent Intent=new Intent(context,Activity.class) ?