5

我正在使用 android 4.3 的新 ble api。我能够从我的 LE 设备扫描、连接、发现特征等。

在读取特征值的情况下,对于某些特征,我得到响应,而对于另一些特征,我没有得到响应。//猜测是设备故障

问题在于写操作。该器件具有 2 个具有写入特性的特性。当我尝试编写它们时,随机发生了 2 个案例-

  1. 未调用onWriteCharacteristic且未将值更改为设备。
  2. 尽管 WriteType 设置为 WRITE_TYPE_NO_RESPONSE ,但仍以成功状态调用onWriteCharacteristic 但值仍然没有变化。

一些非 4.3 应用程序正在成功更改特征值。所以我猜这不是设备故障。

任何见解或帮助将不胜感激。

编辑 1: 当我尝试将特征写入设备时,这是日志片段。

08-26 10:59:49.181: D/BluetoothGatt(13516): writeCharacteristic() - uuid: 00002a06-0000-1000-8000-00805f9b34fb
08-26 10:59:49.181: D/BtGatt.GattService(1082): writeCharacteristic() - address=CC:AB:96:49:4C:9F
08-26 10:59:49.181: D/BtGatt.btif(1082): btif_gattc_write_char
08-26 10:59:49.181: D/BtGatt.btif(1082): btgattc_handle_event: Event 1015
08-26 10:59:49.181: D/BtGatt.btif(1082): btif_gattc_upstreams_evt: Event 4
08-26 10:59:49.181: D/BtGatt.GattService(1082): onWriteCharacteristic() - address=CC:AB:96:49:4C:9F, status=0
08-26 10:59:49.181: I/MainActivity(13516): Writing characteristic Initiated for Alert Level:true
08-26 10:59:49.191: D/BluetoothGatt(13516): onCharacteristicWrite() - Device=CC:AB:96:49:4C:9F UUID=00002a06-0000-1000-8000-00805f9b34fb Status=0
08-26 10:59:49.191: I/MainActivity#onWrite(13516): Immediate Alert Service characteristic - Alert Level value in string:  value in hex: 02

WriteType 设置为 WRITE_TYPE_NO_RESPONSE,但我仍然收到 onWriteCharacteristic 调用,但该值并未更改为设备。

有人可以帮忙吗?

编辑 2: 我正在使用 nexus-4 测试应用程序,但这款手机仍然存在同样的问题,但是,嘿,代码在三星 S4 上运行良好,它能够在 LE 设备上写入特征值。那是Nexus-4的问题吗?但是 这里的这个人说他可以用 Nexus-4 写作

4

0 回答 0