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

MyD*_*Tom 8 android bluetooth-lowenergy android-bluetooth

我有一个BLE设备跟随下一个forkflow:睡眠直到按下按钮(在设备上) - >唤醒并宣告60秒 - >等到手机要求数据 - >发送数据 - >关闭连接并睡到下一个按钮单击.

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

  1. 仅首次启动扫描.保存设备的mac地址.调用connectGattautoConnect参数相同true.如果设备断开,请等待自动连接.
  2. 调用connectGattautoConnect参数相同false.close BluetoothGatt在设备断开连接后立即启动新扫描.

我想,第一种方法在功耗方面更好.但是我看到了多个不使用的建议autoConnect true.

我对第二种方法感觉不好,因为文档说" 从不扫描循环,并设置扫描时间限制 "/可能我应扫描3秒,而不是等待30秒.但它看起来像一个循环.

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