lightbulb_outline Please take our October 2018 developer survey. Start survey

BluetoothGattDescriptor

public class BluetoothGattDescriptor
extends Object implements Parcelable

java.lang.Object
   ↳ android.bluetooth.BluetoothGattDescriptor


Represents a Bluetooth GATT Descriptor

GATT Descriptors contain additional information and attributes of a GATT characteristic, BluetoothGattCharacteristic. They can be used to describe the characteristic's features or to control certain behaviours of the characteristic.

Summary

Constants

int PERMISSION_READ

Descriptor read permission

int PERMISSION_READ_ENCRYPTED

Descriptor permission: Allow encrypted read operations

int PERMISSION_READ_ENCRYPTED_MITM

Descriptor permission: Allow reading with man-in-the-middle protection

int PERMISSION_WRITE

Descriptor write permission

int PERMISSION_WRITE_ENCRYPTED

Descriptor permission: Allow encrypted writes

int PERMISSION_WRITE_ENCRYPTED_MITM

Descriptor permission: Allow encrypted writes with man-in-the-middle protection

int PERMISSION_WRITE_SIGNED

Descriptor permission: Allow signed write operations

int PERMISSION_WRITE_SIGNED_MITM

Descriptor permission: Allow signed write operations with man-in-the-middle protection

Inherited constants

Fields

public static final Creator<BluetoothGattDescriptor> CREATOR

public static final byte[] DISABLE_NOTIFICATION_VALUE

Value used to disable notifications or indicatinos

public static final byte[] ENABLE_INDICATION_VALUE

Value used to enable indication for a client configuration descriptor

public static final byte[] ENABLE_NOTIFICATION_VALUE

Value used to enable notification for a client configuration descriptor

Public constructors

BluetoothGattDescriptor(UUID uuid, int permissions)

Create a new BluetoothGattDescriptor.

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

BluetoothGattCharacteristic getCharacteristic()

Returns the characteristic this descriptor belongs to.

int getPermissions()

Returns the permissions for this descriptor.

UUID getUuid()

Returns the UUID of this descriptor.

byte[] getValue()

Returns the stored value for this descriptor

This function returns the stored value for this descriptor as retrieved by calling BluetoothGatt.readDescriptor(BluetoothGattDescriptor).

boolean setValue(byte[] value)

Updates the locally stored value of this descriptor.

void writeToParcel(Parcel out, int flags)

Flatten this object in to a Parcel.

Inherited methods

Constants

PERMISSION_READ

added in API level 18
public static final int PERMISSION_READ

Descriptor read permission

Constant Value: 1 (0x00000001)

PERMISSION_READ_ENCRYPTED

added in API level 18
public static final int PERMISSION_READ_ENCRYPTED

Descriptor permission: Allow encrypted read operations

Constant Value: 2 (0x00000002)

PERMISSION_READ_ENCRYPTED_MITM

added in API level 18
public static final int PERMISSION_READ_ENCRYPTED_MITM

Descriptor permission: Allow reading with man-in-the-middle protection

Constant Value: 4 (0x00000004)

PERMISSION_WRITE

added in API level 18
public static final int PERMISSION_WRITE

Descriptor write permission

Constant Value: 16 (0x00000010)

PERMISSION_WRITE_ENCRYPTED

added in API level 18
public static final int PERMISSION_WRITE_ENCRYPTED

Descriptor permission: Allow encrypted writes

Constant Value: 32 (0x00000020)

PERMISSION_WRITE_ENCRYPTED_MITM

added in API level 18
public static final int PERMISSION_WRITE_ENCRYPTED_MITM

Descriptor permission: Allow encrypted writes with man-in-the-middle protection

Constant Value: 64 (0x00000040)

PERMISSION_WRITE_SIGNED

added in API level 18
public static final int PERMISSION_WRITE_SIGNED

Descriptor permission: Allow signed write operations

Constant Value: 128 (0x00000080)

PERMISSION_WRITE_SIGNED_MITM

added in API level 18
public static final int PERMISSION_WRITE_SIGNED_MITM

Descriptor permission: Allow signed write operations with man-in-the-middle protection

Constant Value: 256 (0x00000100)

Fields

CREATOR

added in API level 24
public static final Creator<BluetoothGattDescriptor> CREATOR

DISABLE_NOTIFICATION_VALUE

added in API level 18
public static final byte[] DISABLE_NOTIFICATION_VALUE

Value used to disable notifications or indicatinos

ENABLE_INDICATION_VALUE

added in API level 18
public static final byte[] ENABLE_INDICATION_VALUE

Value used to enable indication for a client configuration descriptor

ENABLE_NOTIFICATION_VALUE

added in API level 18
public static final byte[] ENABLE_NOTIFICATION_VALUE

Value used to enable notification for a client configuration descriptor

Public constructors

BluetoothGattDescriptor

added in API level 18
public BluetoothGattDescriptor (UUID uuid, 
                int permissions)

Create a new BluetoothGattDescriptor.

Requires Manifest.permission.BLUETOOTH permission.

Parameters
uuid UUID: The UUID for this descriptor

permissions int: Permissions for this descriptor

Public methods

describeContents

added in API level 24
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance.

getCharacteristic

added in API level 18
public BluetoothGattCharacteristic getCharacteristic ()

Returns the characteristic this descriptor belongs to.

Returns
BluetoothGattCharacteristic The characteristic.

getPermissions

added in API level 18
public int getPermissions ()

Returns the permissions for this descriptor.

Returns
int Permissions of this descriptor

getUuid

added in API level 18
public UUID getUuid ()

Returns the UUID of this descriptor.

Returns
UUID UUID of this descriptor

getValue

added in API level 18
public byte[] getValue ()

Returns the stored value for this descriptor

This function returns the stored value for this descriptor as retrieved by calling BluetoothGatt.readDescriptor(BluetoothGattDescriptor). The cached value of the descriptor is updated as a result of a descriptor read operation.

Returns
byte[] Cached value of the descriptor

setValue

added in API level 18
public boolean setValue (byte[] value)

Updates the locally stored value of this descriptor.

This function modifies the locally stored cached value of this descriptor. To send the value to the remote device, call BluetoothGatt.writeDescriptor(BluetoothGattDescriptor) to send the value to the remote device.

Parameters
value byte: New value for this descriptor

Returns
boolean true if the locally stored value has been set, false if the requested value could not be stored locally.

writeToParcel

added in API level 24
public void writeToParcel (Parcel out, 
                int flags)

Flatten this object in to a Parcel.

Parameters
out Parcel: The Parcel in which the object should be written.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE.