- 当前 Bug 的表现(可附上截图)
手机:iphone 6
系统:IOS 12.2
条件:在预先知道serviceId(服务ID)和characteristicId(写入特征ID)的情况下。
操作流程:初始化蓝牙模块(openBluetoothAdapter)-> 连接蓝牙设备(createBLEConnection) -> 写入数据(writeBLECharacteristicValue)
返回结果:1004 (没有找到指定服务)
PS:更改操作流程即可写入成功。
操作流程:初始化蓝牙模块(openBluetoothAdapter)-> 连接蓝牙设备(createBLEConnection) ->读取服务(getBLEDeviceServices)->根据服务ID获取特征(getBLEDeviceCharacteristics)-> 写入数据(writeBLECharacteristicValue)
返回结果:0 (正常)
预测问题:在IOS系统下,只有当调用getBLEDeviceServices和getBLEDeviceCharacteristics后才能调用writeBLECharacteristicValue;估计是只有当调用getBLEDeviceServices和getBLEDeviceCharacteristics的时候才会填充设备连接的服务ID和特征ID,之后调用写入方法的时候小程序会自己和内部数据对比服务ID是否存在,因此导致调用写入方法的时候会报错1004
- 预期表现
操作流程:初始化蓝牙模块(openBluetoothAdapter)-> 连接蓝牙设备(createBLEConnection) -> 写入数据(writeBLECharacteristicValue)
返回结果:0 (正常)
- 复现路径
手机:iphone
系统:IOS
条件:在预先知道serviceId(服务ID)和characteristicId(写入特征ID)的情况下。
操作流程:初始化蓝牙模块(openBluetoothAdapter)-> 连接蓝牙设备(createBLEConnection) -> 写入数据(writeBLECharacteristicValue)
- 提供一个最简复现 Demo
你好,麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
遇到同样的问题,顺便搜索到和这个类似的帖子
https://developers.weixin.qq.com/community/develop/doc/000eeca80d0f883e94869f7255b400?_at=1572318982335