BluetoothCharacteristicProperties
BluetoothCharacteristicProperties
接口是 Web Bluetooth API 的一部分,它提供了对给定 BluetoothRemoteGATTCharacteristic
有效的操作。
此接口是通过调用 BluetoothRemoteGATTCharacteristic.properties
返回的。
实例属性
authenticatedSignedWrites
只读 实验性-
返回一个
boolean
值,如果允许对特征值进行签名写入,则为true
。 broadcast
只读 实验性-
返回一个
boolean
值,如果允许使用服务器特征配置描述符广播特征值,则为true
。 indicate
只读 实验性-
返回一个
boolean
值,如果允许对特征值进行带确认的指示,则为true
。 notify
只读 实验性-
返回一个
boolean
值,如果允许对特征值进行不带确认的通知,则为true
。 read
只读 实验性-
返回一个
boolean
值,如果允许读取特征值,则为true
。 reliableWrite
只读 实验性-
返回一个
boolean
值,如果允许对特征进行可靠写入,则为true
。 writableAuxiliaries
只读 实验性-
返回一个
boolean
值,如果允许对特征描述符进行可靠写入,则为true
。 write
只读 实验性-
返回一个
boolean
值,如果允许对特征进行带响应的写入,则为true
。 writeWithoutResponse
只读 实验性-
返回一个
boolean
值,如果允许对特征进行不带响应的写入,则为true
。
示例
以下示例展示了如何判断 GATT 特征是否支持值变化通知。
js
let device = await navigator.bluetooth.requestDevice({
filters: [{ services: ["heart_rate"] }],
});
let gatt = await device.gatt.connect();
let service = await gatt.getPrimaryService("heart_rate");
let characteristic = await service.getCharacteristic("heart_rate_measurement");
if (characteristic.properties.notify) {
characteristic.addEventListener(
"characteristicvaluechanged",
async (event) => {
console.log(`Received heart rate measurement: ${event.target.value}`);
},
);
await characteristic.startNotifications();
}
规范
规范 |
---|
Web Bluetooth # characteristicproperties-interface |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。