我有暴露 BLE 服务器的 Android 应用程序。我与BluetoothGattServer#connect 连接。它有效 - 我的应用程序使用STATE_CONNECTED调用BluetoothGattServerCallback#onConnectionStateChange。完成客户端后,我尝试使用BluetoothGattServer#cancelConnection断开与我的应用程序的连接。
但是我没有接到BluetoothGattServerCallback#onConnectionStateChange的电话,并且似乎连接仍然处于活动状态,因为我的 BLE 客户端没有开始做广告(当没有任何连接时它会这样做)。
在 logcat 我只看到:
BluetoothGattServer: cancelConnection() - device: XX:XX:XX:XX:XX:XX
有趣的是,一旦我完全关闭 BT ,我的应用程序就会使用STATE_DISCONNECTED调用BluetoothGattServerCallback#onConnectionStateChange 。