如何知道BLE设备目前是否已连接

时间:2018-01-07 17:10:49

标签: android bluetooth-lowenergy

是否有像device.isConnected()这样的方法来了解android BLE设备的当前状态。我所知道的是我需要实现一些类似GattclientCallBack类接口的体系结构,以了解设备是否已连接,但我找不到这样的方法。方法

 mBluetoothGatt.getConnectionState(device);

返回int。那么我怎么知道设备是否已连接? 谢谢:))

1 个答案:

答案 0 :(得分:1)

int返回的getConnectionState将为0,1,2或3,对应STATE_DISCONNECTEDSTATE_CONNECTINGSTATE_CONNECTED或{{ 1}}分别。有关详细信息,请参阅the docs。请注意,此方法仅适用于API级别18及更高版本。

但是,此方法的文档包含以下警告:

  

不支持 - 请STATE_DISCONNECTING使用getConnectedDevices(int)作为参数

这是指方法BluetoothManager.getConnectedDevices。要传递的常量值为BluetoothProfile.GATT。同样,此方法仅适用于API级别18及更高级别。听起来这种方法非常适合您的用例。