8 回复
问题应该在这里, 你调用 wx.getBLEDeviceCharacteristics 传入的serviceId是 service[1] , 获取到write用的特征值后, setData 是将 sevice[i] 作为 write 用的 service,这里 i 应该不等于 1,因此你 getBLEDeviceCharacteristics 的 service 与 你的 writeServceiId 不是同一个 service。
因此导致你调用 write 的时候,会发现你 writeServceiId 对应的 service 没有这个特征值。
10005 | no characteristic | 没有找到指定特征值 |
你多打点日志排查一下问题吧,从错误码上看就是你传入的serviceId对应的service没有你传入的charId对应的特征值。
确定下 getBLEDeviceCharacteristics 传入的 serviceId 与res中拿到的 write charId 就是调用 wx.writeBLECharacteristicValue 传入的 serviceId 与 charId。