我正在开发一款与自定义蓝牙设备进行通信的Android应用程序。 在调用
BluetoothGatt.Disconnect()
后,我发现OnConnectionStateChange
回调被调用,并且新状态为Disconnected
,但是,实际上设备断开连接的时间似乎有点滞后。例如,如果我使用已连接的设备调用BluetoothManager.GetConnectionState(...)
,它仍然会返回Connected
。有时需要几秒钟才能使GetConnectionState
返回Disconnected
。这种情况正常吗?我是否在我的应用程序中做错了什么导致这种情况发生?例如从非UI线程断开连接之类的问题?或者,物理蓝牙设备本身是否无法正确处理断开连接事件并可能未能及时完成断开连接?