文章首发微信公众号:QDROID88888,如果感兴趣可以关注一下公众号。
一、测试gps定位功能的方法探讨
在安卓App gps定位开发过程中,往往需要进行GPS定位的测试。由于室内gps信号被挡住了,所以如果需要测试gps定位的代码,要么跑到室外去等待gps定位更新或者使用安卓sdk中提供的"MOCK_LOCATION"功能编写额外的测试代码来模拟gps位置更新。如果从系统定制的角度出发,也可以根据gps上报的流程来模拟gps上报的逻辑实现模拟gps 的定位数据。
二、修改系统实现模拟gps数据上报
2.1 安卓系统上报gps数据流程总结
在之前的文章安卓10源码开发定制(21)GPS定位研究(2)gps位置改变监听源码分析中已经分析安卓系统中gps数据上报的大概流程:
1. 当gps位置改变更新,com_android_server_location_GnssLocationProvider.cpp中通过反射调用GnssLocationProvider.java中的reportLocation方法将gps数据上报到安卓系统java层。
2. GnssLocationProvider.java中使用LocationProvider.java提供的onReportLocation方法将gps数据上报到GPS 位置管理器。