收藏
回答

wx.onBLECharacteristicValueChange在ios不执行回调?

          if (item.properties.notify || item.properties.indicate) {

            wx.notifyBLECharacteristicValueChange({

              deviceId,

              serviceId,

              characteristicId: item.uuid,

              state: true,

              type: 'notification',

              success(res) {


              },

            })

            setTimeout(() => {

              wx.onBLECharacteristicValueChange((characteristic) => {

                const valueHex = ab2hex(characteristic.value)

                const deviceValues = parse(characteristic.value)

                const key = `${characteristic.deviceId}-${characteristic.serviceId}-${characteristic.characteristicId}`

                if (that.data.lastCharacteristicValue[key] !== valueHex) {

                  const newLastValue = Object.assign({}, that.data.lastCharacteristicValue)

                  newLastValue[key] = valueHex

                  that.setData({

                    lastCharacteristicValue: newLastValue

                  })

                  that.setData({

                    deviceValue: deviceValues.version

                  })

                  console.log("值已更新:", deviceValues.version)

                  wx.offBLECharacteristicValueChange()

                } else if (!that.data.deviceValue) {

                  that.setData({

                    deviceValue: deviceValues.version

                  })

                  console.log("首次存储值:", deviceValues.version)

                }

              })

            }, 300);


          }


回答关注问题邀请回答
收藏

2 个回答

  • ღ 捂风挽笑°
    ღ 捂风挽笑°
    04-24

    安卓可以获取特征值变化,ios不执行

    04-24
    有用
    回复
  • 智能回答 智能回答 本次回答由AI生成
    04-24
    有用
    回复 1
登录 后发表内容