BluetoothCharacteristicProperties
The BluetoothCharacteristicProperties
interface of the Web Bluetooth API provides the operations that are valid on the given BluetoothRemoteGATTCharacteristic
.
This interface is returned by calling BluetoothRemoteGATTCharacteristic.properties
.
Instance properties
authenticatedSignedWrites
Read only Experimental
-
Returns a boolean
that is true
if signed writing to the characteristic value is permitted.
broadcast
Read only Experimental
-
Returns a boolean
that is true
if the broadcast of the characteristic value is permitted using the Server Characteristic Configuration Descriptor.
indicate
Read only Experimental
-
Returns a boolean
that is true
if indications of the characteristic value with acknowledgement is permitted.
notify
Read only Experimental
-
Returns a boolean
that is true
if notifications of the characteristic value without acknowledgement is permitted.
read
Read only Experimental
-
Returns a boolean
that is true
if the reading of the characteristic value is permitted.
reliableWrite
Read only Experimental
-
Returns a boolean
that is true
if reliable writes to the characteristic is permitted.
writableAuxiliaries
Read only Experimental
-
Returns a boolean
that is true
if reliable writes to the characteristic descriptor is permitted.
write
Read only Experimental
-
Returns a boolean
that is true
if the writing to the characteristic with response is permitted.
writeWithoutResponse
Read only Experimental
-
Returns a boolean
that is true
if the writing to the characteristic without response is permitted.
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
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
BluetoothCharacteristicProperties |
56Before Chrome 70, this feature was only supported in macOS. In Chrome 70, support was added for Windows 10. Linux support is not enabled by default.
56In Linux and versions of Windows earlier than 10, this flag must be enabled.
|
79Supported by default only on macOS and Windows 10. Linux support is not enabled by default.
79In Linux and versions of Windows earlier than 10, this flag must be enabled.
|
No |
No |
43Before Opera 57, this feature was only supported in macOS. In Opera 57, support was added for Windows 10. Linux support is not enabled by default.
43In Linux and versions of Windows earlier than 10, this flag must be enabled.
|
No |
No |
56 |
No |
43 |
No |
6.0 |
authenticatedSignedWrites |
56 |
79 |
No |
No |
43 |
No |
No |
56 |
No |
43 |
No |
6.0 |
broadcast |
56 |
79 |
No |
No |
43 |
No |
No |
56 |
No |
43 |
No |
6.0 |
indicate |
56 |
79 |
No |
No |
43 |
No |
No |
56 |
No |
43 |
No |
6.0 |
notify |
56 |
79 |
No |
No |
43 |
No |
No |
56 |
No |
43 |
No |
6.0 |
read |
56 |
79 |
No |
No |
43 |
No |
No |
56 |
No |
43 |
No |
6.0 |
reliableWrite |
56 |
79 |
No |
No |
43 |
No |
No |
56 |
No |
43 |
No |
6.0 |
writableAuxiliaries |
56 |
79 |
No |
No |
43 |
No |
No |
56 |
No |
43 |
No |
6.0 |
write |
56 |
79 |
No |
No |
43 |
No |
No |
56 |
No |
43 |
No |
6.0 |
writeWithoutResponse |
56 |
79 |
No |
No |
43 |
No |
No |
56 |
No |
43 |
No |
6.0 |