Android BLE扫描模式设置间隔

时间:2018-02-08 12:58:09

标签: android bluetooth-lowenergy

我正在编写一个小型测试应用程序来评估蓝牙模块。

该应用目前正在使用激进的匹配模式和低延迟扫描模式进行扫描。我们控制了蓝牙模块的广告时间间隔,并试图评估在Android中触发回调所需的广告数量。

有没有人知道与低延迟,平衡和低功耗扫描模式设置相关的Android BLE扫描的间隔和窗口?

我发现了这个(How to set BLE scan interval and windows no just choose mode in android?)SO问题,但是如果我在我的Android设备开始扫描后启动我的蓝牙设备广告5000毫秒,则会在3000毫秒内找到。 (表示5000ms间隔,5000ms窗口不正确?)

1 个答案:

答案 0 :(得分:2)

他们没有记录。

如果您在“扫描对应于常规扫描设置的参数”下搜索,则可以在https://android.googlesource.com/platform/packages/apps/Bluetooth/+/master/src/com/android/bluetooth/gatt/ScanManager.java处看到来源。您需要查看历史记录,了解不同Android版本之间值的更改方式。

本文发布时的当前值如下:

    /**
     * Scan params corresponding to regular scan setting
     */
    private static final int SCAN_MODE_LOW_POWER_WINDOW_MS = 512;
    private static final int SCAN_MODE_LOW_POWER_INTERVAL_MS = 5120;
    private static final int SCAN_MODE_BALANCED_WINDOW_MS = 1024;
    private static final int SCAN_MODE_BALANCED_INTERVAL_MS = 4096;
    private static final int SCAN_MODE_LOW_LATENCY_WINDOW_MS = 4096;
    private static final int SCAN_MODE_LOW_LATENCY_INTERVAL_MS = 4096;

您还可以获取hci snoop日志,并查看它告诉控制器使用的扫描参数。请注意,根据规范,参数只是一个建议。控制器可以根据其他并发无线电活动使用不同的值。