[Android源码分析]从spec角度来详细分析inquiry command带来的影响

本文探讨了Android如何通过inquiry command执行蓝牙扫描,详细分析了inquiry cmd的格式,包括LAP参数和扫描时长。此外,还阐述了此command触发的Command Status、Inquiry Result和Inquiry Complete事件,以及这些事件在框架层的处理,如ACTION_DISCOVERY_STARTED广播及其对应的receiver——BluetoothDiscoveryReceiver和ScanningStateChangedHandler的作用。
摘要由CSDN通过智能技术生成

上文我们详细介绍了Android是如何通过ui操作到最终发出inquiry command来实现蓝牙的扫描功能的。本文晓东将会和大家一起来看看inquiry command的格式,以及发出这个command后会产生哪些影响。

4、inquiry cmd的格式分析。

        在蓝牙core spec中明确定义了inquirycmd的格式已经返回的event。我们来具体看看:

Inquiry command的格式[1]

针对这个command的参数设置如下:

LAP:在spec上是这样描述这个参数的:“The reserved LAP addresses are 0x9E8B00-0X9E8B3FThe general LAP is 0x9E8B33.”也就是说,LAP的地址范围是0x9E8B00-0X9E8B3F,一般而言我们设为0x9E8B33。从上面的代码我们也可以发现,android中的确使用的是推荐值:uint8_t lap[3] = {0x33, 0x8b, 0x9e };

    Inquiry length:这个顾名思义就是扫描的时间长度。上面的LENGTH_BR_INQ的值是0x08,简单计算一下08*1.28s,大概就是10s了,所以,我们从上层才会看到一般的android手机搜索的时间就是10s,若是需要修改,则可以改这边的参数,当然最长不能超过61.44s了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值