gpt4 book ai didi

android - Android与BLE设备完成蓝牙通信

转载 作者:行者123 更新时间:2023-11-29 16:45:39 24 4
gpt4 key购买 nike

从具有外围测量设备的 Android 设备完成 BLE 通信的正确方法是什么?

当前状态:

  1. if I'm satisfied with received; write stop measuring on characteristic
  2. write power off request
  3. unsubscribe RxBleConnection
  4. close and disconnect BluetoothGatt

当前解决方案的问题是,即使我断开连接并关闭 GATT,它也会在已经关闭的设备上保持连接 30 秒。 (下次测量不能立即开始)

更新日志:

D/RxBle#ConnectionOperationQueue:   QUEUED CharacteristicWriteOperation(222504075)
D/RxBle#ConnectionOperationQueue: STARTED CharacteristicWriteOperation(222504075)
I/RxBle#ConnectionOperationQueue: Connection operations queue to be terminated (80:EA:CA:00:00:10)
D/RxBle#ClientOperationQueue: QUEUED DisconnectOperation(90705849)
D/RxBle#ClientOperationQueue: STARTED DisconnectOperation(90705849)
D/BluetoothManager: getConnectionState()
D/BluetoothManager: getConnectedDevices
D/BluetoothGatt: cancelOpen() - device: 80:EA:CA:00:00:10
D/BluetoothGatt: onClientConnectionState() - status=0 clientIf=6 device=80:EA:CA:00:00:10
D/RxBle#BluetoothGatt: onConnectionStateChange newState=0 status=0
D/BluetoothGatt: setCharacteristicNotification() - uuid: 3f3e3d3c-3b3a-3938-3736-353433323130 enable: false
E/TestConnection: changeNotificationDisconnected from 80:EA:CA:00:00:10
D/RxBle#ConnectionOperationQueue: FINISHED CharacteristicWriteOperation(222504075)
D/RxBle#Executors$RunnableAdapter: Terminated.
D/BluetoothGatt: close()
D/BluetoothGatt: unregisterApp() - mClientIf=6
D/RxBle#ClientOperationQueue: FINISHED DisconnectOperation(90705849)

最佳答案

你的方法很好。

问题似乎出在您的外围设备上。它似乎没有发送任何它正在关闭的信息。如果在外设端正确实现,BluetoothGattCallback 应该接收 .onConnectionStateChange()status=19 which corresponds to :

#define GATT_CONN_TERMINATE_PEER_USER       HCI_ERR_PEER_USER               /* 0x13 connection terminate by peer user  */

因为 Android BLE 堆栈认为通信已停止的情况并非如此,所以它会等待监督超时启动。默认情况下是 Supervision Timeout is hardcoded 20 seconds

虽然可以减少监督超时,但需要由外设协商,因此必须对固件进行干预。如果这是必须的,那么正确关闭连接也是一种选择。

关于android - Android与BLE设备完成蓝牙通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48398990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com