my.notifyblecharacteristicvaluechange(object object)
支付宝客户端 10.0.18 或更高版本; 若版本较低,建议采取 兼容处理 。
支小宝客户端 支持
安诊儿客户端 支持
小程序开发者工具: 不支持。
主体: 企业支付宝小程序 、 个人支付宝小程序
启用低功耗蓝牙设备特征值变化时的通知功能
此 api 调用成功以后,设备特征值发生改变时,会触发 blecharacteristicvaluechange 事件(通过 my.onblecharacteristicvaluechange 注册的监听函数会被调用)
object object
查看示例
属性 | 类型 | 默认值 | 必填 | 兼容性 | 描述 |
---|---|---|---|---|---|
deviceid | string | - | 是 | - | 蓝牙设备 id。该 deviceid 对应的蓝牙设备需要已经通过 my.connectbledevice 建立连接 |
serviceid | string | - | 是 | - | 蓝牙服务的 uuid。可调用 my.getbledeviceservices 获取 |
characteristicid | string | - | 是 | - | 蓝牙特征的 uuid。可调用 my.getbledevicecharacteristics 获取。特征须支持 notify 或 indicate 功能(可通过 my.getbledevicecharacteristics 检查) |
descriptorid | string | 00002902-0000-10008000-00805f9b34fb | 否 | android 支付宝: 10.2.20 |
通知的描述符(descriptor)的 uuid(android 系统特有) |
state | boolean | true | 否 | - | 是否启用通知,默认开启通知 |
success | function | - | 否 | - | 调用成功的回调函数 |
fail | function | - | 否 | - | 调用失败的回调函数 |
complete | function | - | 否 | - | 调用结束的回调函数(调用成功、失败都会执行) |
fail 回调的参数为 object,error
属性为错误码,errormessage
属性为错误消息。
错误码的详细信息请查看蓝牙 api 错误码对照表。
<view>
<button ontap="notifyblecharacteristicvaluechange">启用设备特征值变化时的通知功能button>
<button ontap="onblecharacteristicvaluechange">开始监听特征值的变化button>
view>
page({
data: {
// 本示例值为假数据,实际开发中 deviceid 可使用 my.startbluetoothdevicesdiscovery api 和 my.onbluetoothdevicefound api 去获取。
deviceid: "55829650-fb8a-4c86-1f80-d8dec4dfdc5d",
// 本示例值为假数据,实际开发中 serviceid 可在 my.getbledeviceservices 接口中获取。
serviceid: "44:90:bb:99:41:a5",
// 本示例值为假数据,实际开发中 characteristicid 可在 my.getbledevicecharacteristics 接口中获取。
characteristicid: "2a19",
},
// 开启特征值变化时的通知功能
notifyblecharacteristicvaluechange() {
my.notifyblecharacteristicvaluechange({
deviceid: this.data.deviceid,
serviceid: this.data.serviceid,
characteristicid: this.data.characteristicid,
success: (res) => {
console.log(res,'成功开启通知功能')
},
fail: (error) => {
console.log(error, "error");
}
});
},
// 特征值变化时的处理函数
listener() {
console.log("监听事件的回调函数");
},
// 监听特征值变化
onblecharacteristicvaluechange(){
my.onblecharacteristicvaluechange(this.listener);
}
});
-
tip调用 my.readblecharacteristicvalue() 成功读取设备特征值后,除了触发其 success 回调,也会触发 blecharacteristicvaluechange 事件,无论是否成功调用过 my.notifyblecharacteristicvaluechange()。