Android 蓝牙系统打开蓝牙源码分析(二)--- 全网最详细

本文深入探讨Android蓝牙系统打开过程,分为四个阶段:从APP调用到systemServer,JNI层回调,BLE服务启动及ProfileService激活。详细解析蓝牙状态机在每个阶段的角色,以及如何通过Binder通信和状态变更回调通知蓝牙状态。
摘要由CSDN通过智能技术生成

一、Android 蓝牙框架

        蓝牙应用通过 Binder 与蓝牙进程进行通信。蓝牙进程使用 JNI 与蓝牙堆栈通信,并向开发者提供对各种蓝牙配置文件的访问权限。下图显示了蓝牙堆栈的常规结构:

上篇博客我总结了Android打开蓝牙分为4个阶段,第一阶段就是打开蓝牙的方法从APP调到systemServer再到Bluetooth协议栈,最后走到了hardware蓝牙硬件设备。如下图绿色虚线的流程:

 经过了硬件的一些列操作,正真打开了蓝牙设备,下面继续分析。


第二阶段:(对应图中蓝色虚线流程)


在蓝牙打开成功之后,JNI层会通过JniCallbacks的stateChangeCa

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识分享小达人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值