Android GPS 启动流程分析 Android GPS 架构分析中,整个系统可以分为四个主要部分:Framework、JNI、HAL 和应用程序。其中,Framework 负责提供给应用程序调用的 API,JNI 层实现了 Framework 和 HAL 之间的交互,而 HAL 则提供了硬件抽象层,负责与底层硬件设备的交互。 在 Framework 中,主要有三个部分:java/android/location、java/com/android/internal/location 和 com/android/server。其中,java/android/location 提供了给应用程序调用的 API,java/com/android/internal/location 实现了 Framework 对 Location 服务的内部实现,而 com/android/server 中的 LocationManagerService.java 则是 Location 服务对内部实现的一种封装。 在 JNI 层中,只有一个文件 frameworks/base/core/jni/android_location_GpsLocationProvider.cpp,这个文件起到承上启下的作用,上层承接 Framework,下层调用 HAL 层具体硬件抽象实现。 在 HAL 层中,hardware/libhardware/gps 和 hardware/libhardware/include/hardware/gps.h 两个目录提供了硬件抽象层的实现。其中,gps.h 文件中定义了许多重要的结构体和常量,例如 GpsPositionMode、GpsPositionRecurrence 和 GpsAidingData 等。 GpsPositionMode 定义了 GPS 的操作模式,包括纯 GPS 模式、基于用户终端的 A-GPS 模式和基于用户终端辅助 A-GPS 模式等。GpsPositionRecurrence 定义了 GPS 的工作模式,包括周期性的工作模式和单次工作模式。GpsAidingData 定义了辅助数据的删除方式,包括删除星历数据、删除星历表数据、删除位置数据和删除时间数据等。 在 GPS 启动流程中,首先应用程序会通过 Framework 的 API 调用 LocationManagerService,请求获取 GPS 位置信息。然后,LocationManagerService 会将请求转发给 JNI 层,JNI 层会将请求转发给 HAL 层。HAL 层会根据请求的类型和参数,选择合适的操作模式和工作模式,并调用底层硬件设备来获取 GPS 位置信息。 在获取 GPS 位置信息的过程中,HAL 层会将获取到的数据传递给 JNI 层,JNI 层会将数据传递给 Framework,Framework 会将数据传递给应用程序。应用程序可以根据需要对 GPS 位置信息进行处理和分析,以便满足不同的需求。 Android GPS 启动流程分析中, Framework、JNI、HAL 和应用程序之间的交互是整个系统的核心,HAL 层的硬件抽象层实现了与底层硬件设备的交互,而 gps.h 文件中的结构体和常量定义了 GPS 的操作模式和工作模式。
剩余25页未读,继续阅读
- 大尾yi巴狼2014-04-15很好,最近在看gps模块,可以参考。
- shanying1242013-07-04不错的资源!适合初学者
- 一小毛孩子2014-05-16资源不错,可惜和我的要解决的问题关系不大
- fbc09032015-02-03很好的参考资料
- 粉丝: 3
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 脉冲注入法,持续注入,启动低速运行过程中注入,电感法,ipd,力矩保持,无霍尔无感方案,媲美有霍尔效果 bldc控制器方案,无刷电机 提供源码,原理图
- Matlab Simulink#直驱永磁风电机组并网仿真模型 基于永磁直驱式风机并网仿真模型 采用背靠背双PWM变流器,先整流,再逆变 不仅实现电机侧的有功、无功功率的解耦控制和转速调节,而且能实
- 157389节奏盒子地狱模式第三阶段7.apk
- 操作系统实验ucore lab3
- DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 这段程序是一个改进的粒子群算法,主要用于解决电力系统中的优化问题 下面我将对程序进行详
- final_work_job1(1).sql
- 区块链与联邦学习结合:FedChain项目详细复现指南
- 西门子S7 和 S7 Plus 协议开发示例
- 模块化多电平变流器 MMC 的VSG控制 同步发电机控制 MATLAB–Simulink仿真模型 5电平三相MMC,采用VSG控制 受端接可编辑三相交流源,直流侧接无穷大电源提供调频能量 设置频率
- 基于小程序的智慧校园管理系统源代码(java+小程序+mysql+LW).zip