This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The BluetoothRemoteGattCharacteristic interface of the Web Bluetooth API represents a GATT Characteristic, which is a basic data element that provides further information about a peripheral’s service.
Interface
interface BluetoothRemoteGATTCharacteristic {
readonly attribute BluetoothRemoteGATTService service;
readonly attribute UUID uuid;
readonly attribute BluetoothCharacteristicProperties properties;
readonly attribute DataView? value;
Promise<BluetoothRemoteGATTDescriptor> getDescriptor(BluetoothDescriptorUUID descriptor);
Promise<sequence<BluetoothRemoteGATTDescriptor>>
getDescriptors(optional BluetoothDescriptorUUID descriptor);
Promise<DataView> readValue();
Promise<void> writeValue(BufferSource value);
Promise<void> startNotifications();
Promise<void> stopNotifications();
};
BluetoothRemoteGATTCharacteristic implements EventTarget;
BluetoothRemoteGATTCharacteristic implements CharacteristicEventHandlers;
Properties
BluetoothRemoteGATTCharacteristic.serviceRead only- Returns the
BluetoothGATTServicethis characteristic belongs to. BluetoothRemoteGATTCharacteristic.uuidRead only- Returns a
DOMStringcontaining the UUID of the characteristic, for example'00002a37-0000-1000-8000-00805f9b34fb'for the Heart Rate Measurement characteristic. BluetoothRemoteGATTCharacteristic.propertiesRead only- Returns the properties of this characteristic.
BluetoothRemoteGATTCharacteristic.valueRead only- The currently cached characteristic value. This value gets updated when the value of the characteristic is read or updated via a notification or indication.
Methods
BluetoothRemoteGATTCharacteristic.getDescriptor()- Returns a
Promisethat resolves to the firstBluetoothGATTDescriptorfor a given descriptor UUID. BluetoothRemoteGATTCharacteristic.getDescriptors()- Returns a
Promisethat resolves to anArrayof allBluetoothGATTDescriptorobjects for a given descriptor UUID. BluetoothRemoteGATTCharacteristic.readValue()- Returns a
Promisethat resolves to anArrayBufferholding a duplicate of thevalueproperty if it is available and supported. Otherwise it throws an error. BluetoothRemoteGATTCharacteristic.writeValue()- Sets the value property to the bytes contained in an
ArrayBufferand returns aPromise. BluetoothRemoteGATTCharacteristic.startNotifications()- Returns a
Promisewhennavigator.bluetoothis added to the active notification context. BluetoothRemoteGATTCharacteristic.stopNotifications()- Returns a
Promisewhennavigator.bluetoothis removed from the active notification context.
Specifications
| Specification | Status | Comment |
|---|---|---|
| Web Bluetooth The definition of 'BluetoothRemoteGATTCharacteristic' in that specification. |
Draft | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
BluetoothRemoteGATTCharacteristic | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
getDescriptor | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
getDescriptors | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
properties | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
readValue | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
service | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
startNotifications | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
stopNotifications | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
uuid | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
value | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
writeValue | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- See implementation notes.
- See implementation notes.
- User must explicitly enable this feature.
- User must explicitly enable this feature.
