断开与设备的连接时,我是否应该获得BluetoothGatt.GATT_SUCCESS?

时间:2016-10-13 09:56:42

标签: android bluetooth bluetooth-lowenergy android-bluetooth

我正在使用自定义设备,我正在努力正确管理蓝牙LE。

当我在方法{BluetoothGatt.GATT_SUCCESS变量(status}上读取newState值和值2时,我唯一关心的是没有得到0(BluetoothProfile.STATE_DISCONNECTED) {1}}。相反,我得到一个8,在onConnectionStateChangeBluetoothGatt类中无法跟踪的内容。

所有连接都正常,我完全读写值。

(1)这应该是那样的吗?为什么我读了八个?

我在BluetoothProfile方法中看到了很多status个值:8,19,133等。

(2)我在哪里可以查看这些值?

提前致谢

编辑 api.h 文件中有很多值,我们查找的位置错误。

onConnectionStateChange

2 个答案:

答案 0 :(得分:1)

int错误代码需要转换为HEX并映射到以下文件中的值:

https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/android-5.1.1_r13/stack/include/gatt_api.h

在你提到的案例中:

8 = GATT_INSUF_AUTHORIZATION
19 = GATT_RSP_WRITE 
133 = GATT_ERROR

答案 1 :(得分:0)

答案是否定的。

我没有得到BluetoothGatt.GATT_SUCCESS因为连接被另一端关闭了。如果执行gatt.disconnect(),我会阅读status = BluetoothGatt.GATT_SUCCESS