哪种方式更适合重新连接到BLE设备?使用`autoConnect = true`或执行重复扫描?

时间:2015-10-01 14:47:36

标签: android bluetooth-lowenergy android-bluetooth

我有一个BLE设备,它遵循下一个forkflow:睡眠直到按下按钮(在设备上) - >醒来并宣传60秒 - >等到手机询问数据 - >发送数据 - >关闭连接并睡眠,直到下一次按钮点击。

这意味着设备不能保持恒定的BLE连接。我需要在它醒来时重新连接到设备。我正在考虑两种不同的策略:

  1. 仅首次启动扫描。保存设备的mac地址。致电connectGattautoConnect参数等于true。如果设备断开连接,请等待自动连接。
  2. connectGatt参数等于autoConnect的情况下致电falseclose BluetoothGatt并在设备断开连接后开始新扫描。
  3. 我想,第一种方法在功耗方面更好。但我看到多个建议不使用autoConnect true

    我对第二种方法感觉不好,因为文档说“Never scan on a loop, and set a time limit on your scan”/可能我应该扫描3秒,而不是等待30秒。但它看起来像一个循环。

    请告诉我哪种策略更好。考虑第二种方法,是否可以一直扫描(暂停)?也许有一些最佳实践来实现类似的工作流程?

0 个答案:

没有答案