基于Android的AGPS流程分析

本文分析了Android系统中的AGPS和XTRA辅助定位框架。AGPS通过与基站信息结合,加快定位速度,XTRA是高通提供的星历信息解决方案。文章详细介绍了AGPS的框架流程和接口,包括init、data_conn_open_with_apn_ip_type等函数,并探讨了XTRA框架的流程和接口。
摘要由CSDN通过智能技术生成

目录

1. 概述

2. AGPS框架分析

2.1框架流程

2.2接口说明

2.2.1 init函数指针

2.2.2 data_conn_open函数

2.2.3 data_conn_open_with_apn_ip_type函数

2.2.4 data_conn_closed函数

2.2.5 data_conn_failed函数

2.2.6 set_server函数

3 XTRA框架分析

3.1框架流程

3.2接口说明

3.2.1 init函数指针

3.2.2 inject_xtra_data函数

4总结

5 GPS实用参考链接


1. 概述

基于Android的代码,辅助定位有两种,分别为AGPSXTRA

AGPS即辅助全球卫星定位系统(英语:Assisted Global Positioning System,简称:AGPS)指的是一种GPS的运行方式。它可以利用手机基地站的资讯,配合传统GPS卫星,让定位的速度更快。

XTRA是高通提供的一个可以下发星历信息的解决法案,类似AGPS 都是辅助定位用的。

2. AGPS框架分析

2.1框架流程

AGPS要处理相关逻辑之前,需要确认GPS提供者是否支持AGPS,流程图如下:

 首先在JAVA层GPS服务启来后,会通过JNI方式调用C层GPS接口,接者C层再向GPS提供者获取是否支持AGPS,如果支持,就获取AGPS的相关句柄,其实就是接口。

2.2接口说明

AGps的相关接口见如下图。

接口的调用逻辑是先gps库实现AgpsInterface的接口,JNI层获取到这个接口后,然后再调用init函数把回调函数给到gps库回调。其他函数由JNI层按相关逻辑调用。

接口调用逻辑如下:

2.2.1 init函数指针

1)函数说明

描述

用于初始化回调函数,当底层有信息上报时,gps库会调用此回调函数上报给上层

函数原型

void (*init)(AGpsCallbacks* callbacks);

参数说明

callbacks

agps_status_callback

上报AGPS状态

gps_create_thread

回调线程

返回值

void

说明

2)AGpsCallbacks结构体

3)调用逻辑

4)agps_

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值