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

最低0.47元/天 解锁文章
1911

被折叠的 条评论
为什么被折叠?



