web api interface
BluetoothCharacteristicProperties
Secure contextLimited availability
The BluetoothCharacteristicProperties interface of the Web Bluetooth API provides the operations that are valid on the given BluetoothRemoteGATTCharacteristic.
This interface is returned by calling properties.
Instance properties
authenticatedSignedWritesRead only Experimental- : Returns a
booleanthat istrueif signed writing to the characteristic value is permitted.
- : Returns a
broadcastRead only Experimental- : Returns a
booleanthat istrueif the broadcast of the characteristic value is permitted using the Server Characteristic Configuration Descriptor.
- : Returns a
indicateRead only Experimental- : Returns a
booleanthat istrueif indications of the characteristic value with acknowledgement is permitted.
- : Returns a
notifyRead only Experimental- : Returns a
booleanthat istrueif notifications of the characteristic value without acknowledgement is permitted.
- : Returns a
readRead only Experimental- : Returns a
booleanthat istrueif the reading of the characteristic value is permitted.
- : Returns a
reliableWriteRead only Experimental- : Returns a
booleanthat istrueif reliable writes to the characteristic is permitted.
- : Returns a
writableAuxiliariesRead only Experimental- : Returns a
booleanthat istrueif reliable writes to the characteristic descriptor is permitted.
- : Returns a
writeRead only Experimental- : Returns a
booleanthat istrueif the writing to the characteristic with response is permitted.
- : Returns a
writeWithoutResponseRead only Experimental- : Returns a
booleanthat istrueif the writing to the characteristic without response is permitted.
- : Returns a
Examples
The following example shows how tell if a GATT characteristic supports value change notifications.
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();
}
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.