Android 蓝牙hfp 协议源码流程全分析
文章平均质量分 84
Android 蓝牙hfp 协议源码流程全分析,本专栏将使用多篇文章全面来分析源码流程,让蓝牙学习者更清楚的了解hfp源码流程
知识分享小达人
本博客是全网最大分享安卓模块知识的博客,通过基础知识、安卓源码介绍、项目实践等方式,全面剖析手机各个模块的内容,使阅读者能够更好的理解,和应用到项目实践中,如果阅读过程中遇到不理解的,欢迎私信交流,本博主尽最大可能进行答疑解惑。
展开
-
android蓝牙hfp协议分析(二.1)--HF发起hfp协议连接
在queue_int_handle_evt函数中,我们的事件类型为BTIF_QUEUE_CONNECT_EVT,所以在里面调用queue_int_add函数,将进行连接的hfp设备加入队列,然后接着调用queue_int_connect_next进行进一步处理。这里是hfp client接口的对象,这个hfp client接口是在hfp协议初始化的时候得到的,由于之前介绍了很多协议的初始化,套路都是一样的,所以这里就不过多的介绍的,里面有很多成员函数,在这里我们调用的是connect函数。原创 2024-01-29 10:36:29 · 491 阅读 · 2 评论 -
android蓝牙hfp协议分析(二.2)--HF发起hfp协议连接
我们先看bta_hf_client_cback_open函数,在里面调用了bta_hf_client_cb.p_cback回调函数,这个回调函数在hf client初始化的时候被赋值为bte_hf_client_evt函数,关于hf client初始化,我们这里没有介绍,不过和其它协议的初始化一样,很容易理解,大家可以自行分析。来到处理函数bta_hf_client_disc_int_res函数中,我们看到这里还是进行hf状态机的轮转,不过这次事件为BTA_HF_CLIENT_DISC_OK_EVT。原创 2024-01-29 10:36:14 · 174 阅读 · 0 评论 -
android蓝牙hfp协议分析(一)--hfp协议交互流程
右图就是hfp的连接流程,可以看到和我上面介绍的流程一样,先进行sdp服务发现协议,发送hfp协议,然后进行RFCOMM协议连接,这样双方蓝牙设备就可以发送AT指令进行交互了,第三部分就是通过AT指令进行交互来进行Service Level Connection这个procedure了,最后创建SCO连接,就完成了hfp协议的连接,在这其中,AT指令交互建立SLC连接是重点。当HF取得AG的indicator后,HF会使用AT+CMER使能AG的indicator状态跟新功能,AG会返回OK作为应答。原创 2024-01-28 17:58:23 · 407 阅读 · 0 评论