【问题标题】:How to Android BLE Passive scan?如何进行 Android BLE 被动扫描?
【发布时间】:2016-09-28 11:59:00
【问题描述】:

使用 startLeScan 方法扫描广告数据时, 该方法还向外围设备请求扫描响应数据。 我只想扫描广告数据。 我不想向外围设备发送响应请求。 并且外围设备不能改变广告模式。

根据蓝牙 4.0 Core 规范,存在被动扫描模式。 https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=282159

而且,android 有决定扫描类型的参数。

而主动扫描是android的默认扫描模式。 http://androidxref.com/5.1.1_r6/xref/external/bluetooth/bluedroid/stack/btm/btm_ble_gap.c#327

如何使用被动扫描模式?

是否可以更改或添加外部文件夹中的 btm_ble_gap.c?

请帮忙。谢谢。

【问题讨论】:

    标签: android bluetooth bluetooth-lowenergy external


    【解决方案1】:

    即使蓝牙堆栈在内部支持被动扫描,由于某种原因,没有可供应用使用的公共 API。

    【讨论】:

    • 我想知道如何在外部文件夹中更改或添加btm_ble_gap.c。
    • btm_ble_gap.c有什么办法修改或添加?
    • 您需要为此创建一个自定义的 Android ROM。这真的是你想要的吗?
    • 我必须这样做。
    • 我想要的功能是Android设备通常进行被动扫描,并在我需要时发送“扫描响应请求”。