Android Ble蓝牙状态码及错误码汇总

一、onConnectionStateChange

连接状态回调方法:onConnectionStateChange

/**
 * Callback indicating when GATT client has connected/disconnected to/from a remote
 * GATT server.
 *
 * @param gatt GATT client
 * @param status Status of the connect or disconnect operation. {@link
 * BluetoothGatt#GATT_SUCCESS} if the operation succeeds.
 * @param newState Returns the new connection state. Can be one of {@link
 * BluetoothProfile#STATE_DISCONNECTED} or {@link BluetoothProfile#STATE_CONNECTED}
 */
public void onConnectionStateChange(BluetoothGatt gatt, int status,
        int newState) {
}

二、newState

描述蓝牙新的连接状态

newStateDescription描述
2STATE_CONNECTED连接成功
1STATE_CONNECTING蓝牙连接中
0STATE_DISCONNECTED连接失败
1STATE_CONNECTING正在断开连接

三、status

表示错误信息

BluetoothGatt 层CODE

StatusStatus HexDescription描述
1430x8fGATT_CONNECTION_CONGESTED远程设备连接拥塞
50x5GATT_INSUFFICIENT_AUTHENTICATION给定操作的认证不足
150xfGATT_INSUFFICIENT_ENCRYPTION给定操作的加密不足
130xdGATT_INVALID_ATTRIBUTE_LENGTH写操作超过了属性的最大长度
70x7GATT_INVALID_OFFSET请求读取或写入操作的偏移量无效
20x2GATT_READ_NOT_PERMITTEDGATT读取操作不被允许
60x6GATT_REQUEST_NOT_SUPPORTED给定的请求不受支持
30x3GATT_WRITE_NOT_PERMITTEDGATT写入操作是不允许的
00GATT_SUCCESSGATT操作成功完成
2570x101GATT_FAILUREGATT操作失败,除上述以外的错误

HCI 层的CODE: HCI,即主机控制接口(Host Controller Interface),属于蓝牙协议栈的一部分

StatusStatus HexDescriptionExplanation
00x00BLE_HCI_STATUS_CODE_SUCCESSEverything ok!😃
10x01BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND
20x02BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER
20x2GATT_READ_NOT_PERMITTEDGATT读取操作不被允许
30x03GATT_WRITE_NOT_PERMITTED GATT不允许写操作
50x05BLE_HCI_AUTHENTICATION_FAILURE身份验证失败
50x05GATT_INSUFFICIENT_AUTHENTICATION
60x06BLE_HCI_STATUS_CODE_PIN_OR_KEY_MISSING
60x06GATT_REQUEST_NOT_SUPPORTED不支持当前请求
70x07BLE_HCI_MEMORY_CAPACITY_EXCEEDED
70x07GATT_INVALID_OFFSET请求的读取或写入操作的偏移量无效
80x08BLE_HCI_CONNECTION_TIMEOUT无法在指定时间内建立连接。也许设备当前连接到其他设备?
120x0CBLE_HCI_STATUS_CODE_COMMAND_DISALLOWED
130xDGATT_INVALID_ATTRIBUTE_LENGTH写操作超过了属性的最大长度
150xFGATT_INSUFFICIENT_ENCRYPTION给定操作的加密不足
180x12BLE_HCI_STATUS_CODE_INVALID_BTLE_COMMAND_PARAMETERS
190x13BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION远程用户终止连接 (Remote device has forced a disconnect.)
200x14BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES由于资源不足,远程设备连接终止
210x15BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF远程设备由于电源关闭而终止连接不支持的远程功能
220x16BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION连接被本地主机终止
260x1ABLE_HCI_UNSUPPORTED_REMOTE_FEATURE
300x1EBLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETERS
310x1FBLE_HCI_STATUS_CODE_UNSPECIFIED_ERROR
340x22BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT超时响应问题。可以理解未握手,当一方发送请求握手的数据包, 需要对方在规定的时间内返回带有有效响应的数据包。如果超过时间没有收到该数据包,则断开连接并抛出该状态码。一般协议规定超时时间为40s.
360x24BLE_HCI_STATUS_CODE_LMP_PDU_NOT_ALLOWED
400x28BLE_HCI_INSTANT_PASSED
410x29BLE_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED不支持与设备密钥配对错误代码
420x2ABLE_HCI_DIFFERENT_TRANSACTION_COLLISION
580x3ABLE_HCI_CONTROLLER_BUSY
590x3BBLE_HCI_CONN_INTERVAL_UNACCEPTABLE不可接受的连接参数
600x3CBLE_HCI_DIRECTED_ADVERTISER_TIMEOUT
610x3DBLE_HCI_CONN_TERMINATED_DUE_TO_MIC_FAILURE
620x3EBLE_HCI_CONN_FAILED_TO_BE_ESTABLISHED
1280x80GATT_NO_RESSOURCES
1290x81GATT_INTERNAL_ERROR
1300x82GATT_WRONG_STATE
1310x83GATT_DB_FULL
1320x84GATT_BUSY
1330x85GATT_ERROR可以是任何原因,从设备不在范围内到随机错误。
1350x87GATT_ILLEGAL_PARAMETER
1370x89GATT_AUTH_FAIL A GATT操作失败、错误等
1430x8fGATT_CONNECTION_CONGESTED远程设备连接拥塞(A remote device connection is congested)
2570x101GATT_FAILURE
  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android BLE蓝牙低功耗)是一种用于与低功耗设备通信的无线技术。在开发和调试过程,我们可以使用一些调试工具来帮助我们监控和分析BLE连接和通信过程的数据。下面是关于Android BLE蓝牙调试工具代码的一些说明: 首先,我们可以使用Android提供的Log工具来打印调试信息。通过在代码插入Log语句,我们可以在Logcat工具查看和分析输出的日志信息,以了解BLE连接和通信的过程发生的事件和数据。 其次,Android提供了一个名为Bluetooth HCI日志记录器(bluetooth_hci.log)的工具,用于记录与BLE通信相关的底层蓝牙协议数据。我们可以通过在设备上运行以下命令来启用该日志记录器: adb shell setprop persist.bluetooth.bluetooth_hci_log true 启用后,BLE通信过程的底层协议数据将被记录到bluetooth_hci.log文件。我们可以使用ADB工具来获取该文件,然后使用Wireshark等工具进行分析。 另外,我们还可以使用第三方蓝牙调试工具库,例如nRF Connect或BLE Scanner,来分析和调试BLE连接和通信过程。这些工具通常提供了扫描设备、连接设备、发现服务和特征、读写特征值等功能,可以帮助我们与BLE设备进行交互,并监控和分析通信过程的数据。 在代码使用这些蓝牙调试工具时,我们可以根据需要调用相应的API,例如启动扫描、连接设备、发现服务和特征、读写特征值等,然后根据返回的数据和事件进行进一步处理和分析。 总之,Android BLE蓝牙调试工具代码包括使用Log工具打印日志信息、启用Bluetooth HCI日志记录器、使用第三方蓝牙调试工具库等,可以帮助我们监控和分析BLE连接和通信过程的数据,以便进行调试和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值