-3

我开发了一个连接到 Polar 心脏监测器的应用程序。我使用以下方法连接到它: device.connectGatt(this, false, mGattCallback); 如果我失去了连接,我会重新扫描设备并重新连接到同一个监听器。

我想知道我是否可以通过 using 获得这种行为:

device.connectGatt(this, true, mGattCallback);

无需重新扫描设备。

哪个是更好的方法?

4

2 回答 2

1

目前这是不可能的。外围设备在与设备绑定后不会主动再次建立连接。中央应该轮询并发现外围设备的存在。这是 BLE 的架构,它的设计方式是为了节省外围设备的能量。

参考:http ://www.amazon.com/Inside-Bluetooth-Energy-Artech-Communications/dp/1608075796

注意:如果设备开始实施 BLE 4.1 和 4.2 标准,这可能会改变。

于 2015-07-08T23:05:57.030 回答
1

我们观察到自动连接“true”的奇怪行为。即使用如下连接: device.connectGatt(this, true, mGattCallback)

行为是不可预测的。有时这确实有效并自动连接而无需再次扫描设备,但有时它没有按预期自动连接。此外,我们观察到自动连接的奇怪行为。即使手机蓝牙关闭,手机也会连接到设备。

我认为扫描设备是更可靠的选择。

于 2015-07-10T06:42:56.760 回答