Android 10 Gnss数据流程

Android 10 Gnss数据流程

一、LocationManager 数据成员:

GnssMeasurementCallbackTransport:高精度定位数据回调对象的封装,回调对象为GnssMeasurementsEvent.Callback,传递的对象为是GnssMeasurement,包含单颗 GNSS 卫星的原始观测值(如伪距、载波相位、多普勒频移)及计算参数(卫星 ID、信号强度、时间戳等),为 RTK/PPK 等高精度算法提供基础数据。

frameworks/base/location/java/android/location/GnssMeasurementCallbackTransport.java
frameworks/base/location/java/android/location/GnssMeasurement.java
//通过addGnssMeasurementsListener注册到LocationManagerService中

GnssNavigationMessageCallbackTransport:GnssNavigationMessage.Callback对象的封装,GNSS 框架中用于传递卫星导航原始数据(如星历、历书等)

//base/location/java/android/location/GnssNavigationMessageCallbackTransport.java
//base/location/java/android/location/GnssNavigationMessage.java
//通过addGnssNavigationMessageListener注册到LocationManagerService中

BatchedLocationCallbackTransport:将连续的单点位置更新聚合为批次数据(List),通过单次回调传递,减少跨进程通信开销,根据应用需求(如运动状态、精度要求)自动调整批次大小和上报频率

//base/location/java/android/location/BatchedLocationCallbackTransport.java
//通过addGnssBatchingCallback注册到LocationManagerService中

GnssStatusListenerTransport:LocationManagerService 回调接口,接收GNSS状态(onGnssStarted、onGnssStopped、onFirstFix、onSvStatusChanged)及Nmea数据

//base/location/java/android/location/IGnssStatusListener.aidl

mGnssStatusListeners:Gnss状态回调,代码如下

//base/location/java/android/location/LocationManager.java
public boolean registerGnssStatusCallback(@NonNull GnssStatus.Callback callback, @Nullable H
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值