BluetoothGattCharacteristic
public
class
BluetoothGattCharacteristic
extends Object
implements
Parcelable
java.lang.Object | |
↳ | android.bluetooth.BluetoothGattCharacteristic |
Represents a Bluetooth GATT Characteristic
A GATT characteristic is a basic data element used to construct a GATT service, BluetoothGattService
. The characteristic contains a value as well as additional information and
optional GATT descriptors, BluetoothGattDescriptor
.
Summary
Constants | |
---|---|
int |
FORMAT_FLOAT
Characteristic value format type float (32-bit float) |
int |
FORMAT_SFLOAT
Characteristic value format type sfloat (16-bit float) |
int |
FORMAT_SINT16
Characteristic value format type sint16 |
int |
FORMAT_SINT32
Characteristic value format type sint32 |
int |
FORMAT_SINT8
Characteristic value format type sint8 |
int |
FORMAT_UINT16
Characteristic value format type uint16 |
int |
FORMAT_UINT32
Characteristic value format type uint32 |
int |
FORMAT_UINT8
Characteristic value format type uint8 |
int |
PERMISSION_READ
Characteristic read permission |
int |
PERMISSION_READ_ENCRYPTED
Characteristic permission: Allow encrypted read operations |
int |
PERMISSION_READ_ENCRYPTED_MITM
Characteristic permission: Allow reading with person-in-the-middle protection |
int |
PERMISSION_WRITE
Characteristic write permission |
int |
PERMISSION_WRITE_ENCRYPTED
Characteristic permission: Allow encrypted writes |
int |
PERMISSION_WRITE_ENCRYPTED_MITM
Characteristic permission: Allow encrypted writes with person-in-the-middle protection |
int |
PERMISSION_WRITE_SIGNED
Characteristic permission: Allow signed write operations |
int |
PERMISSION_WRITE_SIGNED_MITM
Characteristic permission: Allow signed write operations with person-in-the-middle protection |
int |
PROPERTY_BROADCAST
Characteristic property: Characteristic is broadcastable. |
int |
PROPERTY_EXTENDED_PROPS
Characteristic property: Characteristic has extended properties |
int |
PROPERTY_INDICATE
Characteristic property: Characteristic supports indication |
int |
PROPERTY_NOTIFY
Characteristic property: Characteristic supports notification |
int |
PROPERTY_READ
Characteristic property: Characteristic is readable. |
int |
PROPERTY_SIGNED_WRITE
Characteristic property: Characteristic supports write with signature |
int |
PROPERTY_WRITE
Characteristic property: Characteristic can be written. |
int |
PROPERTY_WRITE_NO_RESPONSE
Characteristic property: Characteristic can be written without response. |
int |
WRITE_TYPE_DEFAULT
Write characteristic, requesting acknowledgement by the remote device |
int |
WRITE_TYPE_NO_RESPONSE
Write characteristic without requiring a response by the remote device |
int |
WRITE_TYPE_SIGNED
Write characteristic including authentication signature |
Inherited constants |
---|
Fields | |
---|---|
public
static
final
Creator<BluetoothGattCharacteristic> |
CREATOR
|
protected
List<BluetoothGattDescriptor> |
mDescriptors
List of descriptors included in this characteristic. |
Public constructors | |
---|---|
BluetoothGattCharacteristic(UUID uuid, int properties, int permissions)
Create a new BluetoothGattCharacteristic. |
Public methods | |
---|---|
boolean
|
addDescriptor(BluetoothGattDescriptor descriptor)
Adds a descriptor to this characteristic. |
int
|
describeContents()
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
BluetoothGattDescriptor
|
getDescriptor(UUID uuid)
Returns a descriptor with a given UUID out of the list of descriptors for this characteristic. |
List<BluetoothGattDescriptor>
|
getDescriptors()
Returns a list of descriptors for this characteristic. |
Float
|
getFloatValue(int formatType, int offset)
This method was deprecated
in API level 33.
Use |
int
|
getInstanceId()
Returns the instance ID for this characteristic. |
Integer
|
getIntValue(int formatType, int offset)
This method was deprecated
in API level 33.
Use |
int
|
getPermissions()
Returns the permissions for this characteristic. |
int
|
getProperties()
Returns the properties of this characteristic. |
BluetoothGattService
|
getService()
Returns the service this characteristic belongs to. |
String
|
getStringValue(int offset)
This method was deprecated
in API level 33.
Use |
UUID
|
getUuid()
Returns the UUID of this characteristic |
byte[]
|
getValue()
This method was deprecated
in API level 33.
Use |
int
|
getWriteType()
Gets the write type for this characteristic. |
boolean
|
setValue(String value)
This method was deprecated
in API level 33.
Pass the characteristic value directly into |
boolean
|
setValue(int value, int formatType, int offset)
This method was deprecated
in API level 33.
Pass the characteristic value directly into |
boolean
|
setValue(byte[] value)
This method was deprecated
in API level 33.
Pass the characteristic value directly into |
boolean
|
setValue(int mantissa, int exponent, int formatType, int offset)
This method was deprecated
in API level 33.
Pass the characteristic value directly into |
void
|
setWriteType(int writeType)
Set the write type for this characteristic Setting the write type of a characteristic determines how the |
void
|
writeToParcel(Parcel out, int flags)
Flatten this object in to a Parcel. |
Inherited methods | |
---|---|
Constants
FORMAT_FLOAT
public static final int FORMAT_FLOAT
Characteristic value format type float (32-bit float)
Constant Value: 52 (0x00000034)
FORMAT_SFLOAT
public static final int FORMAT_SFLOAT
Characteristic value format type sfloat (16-bit float)
Constant Value: 50 (0x00000032)
FORMAT_SINT16
public static final int FORMAT_SINT16
Characteristic value format type sint16
Constant Value: 34 (0x00000022)
FORMAT_SINT32
public static final int FORMAT_SINT32
Characteristic value format type sint32
Constant Value: 36 (0x00000024)
FORMAT_SINT8
public static final int FORMAT_SINT8
Characteristic value format type sint8
Constant Value: 33 (0x00000021)
FORMAT_UINT16
public static final int FORMAT_UINT16
Characteristic value format type uint16
Constant Value: 18 (0x00000012)
FORMAT_UINT32
public static final int FORMAT_UINT32
Characteristic value format type uint32
Constant Value: 20 (0x00000014)
FORMAT_UINT8
public static final int FORMAT_UINT8
Characteristic value format type uint8
Constant Value: 17 (0x00000011)
PERMISSION_READ
public static final int PERMISSION_READ
Characteristic read permission
Constant Value: 1 (0x00000001)
PERMISSION_READ_ENCRYPTED
public static final int PERMISSION_READ_ENCRYPTED
Characteristic permission: Allow encrypted read operations
Constant Value: 2 (0x00000002)
PERMISSION_READ_ENCRYPTED_MITM
public static final int PERMISSION_READ_ENCRYPTED_MITM
Characteristic permission: Allow reading with person-in-the-middle protection
Constant Value: 4 (0x00000004)
PERMISSION_WRITE
public static final int PERMISSION_WRITE
Characteristic write permission
Constant Value: 16 (0x00000010)
PERMISSION_WRITE_ENCRYPTED
public static final int PERMISSION_WRITE_ENCRYPTED
Characteristic permission: Allow encrypted writes
Constant Value: 32 (0x00000020)
PERMISSION_WRITE_ENCRYPTED_MITM
public static final int PERMISSION_WRITE_ENCRYPTED_MITM
Characteristic permission: Allow encrypted writes with person-in-the-middle protection
Constant Value: 64 (0x00000040)
PERMISSION_WRITE_SIGNED
public static final int PERMISSION_WRITE_SIGNED
Characteristic permission: Allow signed write operations
Constant Value: 128 (0x00000080)
PERMISSION_WRITE_SIGNED_MITM
public static final int PERMISSION_WRITE_SIGNED_MITM
Characteristic permission: Allow signed write operations with person-in-the-middle protection
Constant Value: 256 (0x00000100)
PROPERTY_BROADCAST
public static final int PROPERTY_BROADCAST
Characteristic property: Characteristic is broadcastable.
Constant Value: 1 (0x00000001)
PROPERTY_EXTENDED_PROPS
public static final int PROPERTY_EXTENDED_PROPS
Characteristic property: Characteristic has extended properties
Constant Value: 128 (0x00000080)
PROPERTY_INDICATE
public static final int PROPERTY_INDICATE
Characteristic property: Characteristic supports indication
Constant Value: 32 (0x00000020)
PROPERTY_NOTIFY
public static final int PROPERTY_NOTIFY
Characteristic property: Characteristic supports notification
Constant Value: 16 (0x00000010)
PROPERTY_READ
public static final int PROPERTY_READ
Characteristic property: Characteristic is readable.
Constant Value: 2 (0x00000002)
PROPERTY_SIGNED_WRITE
public static final int PROPERTY_SIGNED_WRITE
Characteristic property: Characteristic supports write with signature
Constant Value: 64 (0x00000040)
PROPERTY_WRITE
public static final int PROPERTY_WRITE
Characteristic property: Characteristic can be written.
Constant Value: 8 (0x00000008)
PROPERTY_WRITE_NO_RESPONSE
public static final int PROPERTY_WRITE_NO_RESPONSE
Characteristic property: Characteristic can be written without response.
Constant Value: 4 (0x00000004)
WRITE_TYPE_DEFAULT
public static final int WRITE_TYPE_DEFAULT
Write characteristic, requesting acknowledgement by the remote device
Constant Value: 2 (0x00000002)
WRITE_TYPE_NO_RESPONSE
public static final int WRITE_TYPE_NO_RESPONSE
Write characteristic without requiring a response by the remote device
Constant Value: 1 (0x00000001)
WRITE_TYPE_SIGNED
public static final int WRITE_TYPE_SIGNED
Write characteristic including authentication signature
Constant Value: 4 (0x00000004)
Fields
mDescriptors
protected List<BluetoothGattDescriptor> mDescriptors
List of descriptors included in this characteristic.
Public constructors
BluetoothGattCharacteristic
public BluetoothGattCharacteristic (UUID uuid, int properties, int permissions)
Create a new BluetoothGattCharacteristic.
Parameters | |
---|---|
uuid |
UUID : The UUID for this characteristic |
properties |
int : Properties of this characteristic |
permissions |
int : Permissions for this characteristic |
Public methods
addDescriptor
public boolean addDescriptor (BluetoothGattDescriptor descriptor)
Adds a descriptor to this characteristic.
Parameters | |
---|---|
descriptor |
BluetoothGattDescriptor : Descriptor to be added to this characteristic. |
Returns | |
---|---|
boolean |
true, if the descriptor was added to the characteristic |
describeContents
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(android.os.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.
Value is either 0 or CONTENTS_FILE_DESCRIPTOR |
getDescriptor
public BluetoothGattDescriptor getDescriptor (UUID uuid)
Returns a descriptor with a given UUID out of the list of descriptors for this characteristic.
Parameters | |
---|---|
uuid |
UUID |
Returns | |
---|---|
BluetoothGattDescriptor |
GATT descriptor object or null if no descriptor with the given UUID was found. |
getDescriptors
public List<BluetoothGattDescriptor> getDescriptors ()
Returns a list of descriptors for this characteristic.
Returns | |
---|---|
List<BluetoothGattDescriptor> |
Descriptors for this characteristic |
getFloatValue
public Float getFloatValue (int formatType, int offset)
This method was deprecated
in API level 33.
Use BluetoothGatt.readCharacteristic(BluetoothGattCharacteristic)
to get
the characteristic value
Return the stored value of this characteristic.
See getValue()
for details.
Parameters | |
---|---|
formatType |
int : The format type used to interpret the characteristic value. |
offset |
int : Offset at which the float value can be found. |
Returns | |
---|---|
Float |
Cached value of the characteristic at a given offset or null if the requested offset exceeds the value size. |
getInstanceId
public int getInstanceId ()
Returns the instance ID for this characteristic.
If a remote device offers multiple characteristics with the same UUID, the instance ID is used to distuinguish between characteristics.
Returns | |
---|---|
int |
Instance ID of this characteristic |
getIntValue
public Integer getIntValue (int formatType, int offset)
This method was deprecated
in API level 33.
Use BluetoothGatt.readCharacteristic(BluetoothGattCharacteristic)
to get
the characteristic value
Return the stored value of this characteristic.
The formatType parameter determines how the characteristic value is to be interpreted. For
example, setting formatType to FORMAT_UINT16
specifies that the first two bytes of
the characteristic value at the given offset are interpreted to generate the return value.
Parameters | |
---|---|
formatType |
int : The format type used to interpret the characteristic value. |
offset |
int : Offset at which the integer value can be found. |
Returns | |
---|---|
Integer |
Cached value of the characteristic or null of offset exceeds value size. |
getPermissions
public int getPermissions ()
Returns the permissions for this characteristic.
Returns | |
---|---|
int |
Permissions of this characteristic |
getProperties
public int getProperties ()
Returns the properties of this characteristic.
The properties contain a bit mask of property flags indicating the features of this characteristic.
Returns | |
---|---|
int |
Properties of this characteristic |
getService
public BluetoothGattService getService ()
Returns the service this characteristic belongs to.
Returns | |
---|---|
BluetoothGattService |
The associated service |
getStringValue
public String getStringValue (int offset)
This method was deprecated
in API level 33.
Use BluetoothGatt.readCharacteristic(BluetoothGattCharacteristic)
to get
the characteristic value
Return the stored value of this characteristic.
See getValue()
for details.
Parameters | |
---|---|
offset |
int : Offset at which the string value can be found. |
Returns | |
---|---|
String |
Cached value of the characteristic |
getUuid
public UUID getUuid ()
Returns the UUID of this characteristic
Returns | |
---|---|
UUID |
UUID of this characteristic |
getValue
public byte[] getValue ()
This method was deprecated
in API level 33.
Use BluetoothGatt.readCharacteristic(BluetoothGattCharacteristic)
instead
Get the stored value for this characteristic.
This function returns the stored value for this characteristic as retrieved by calling
BluetoothGatt.readCharacteristic
. The cached value of the characteristic is updated
as a result of a read characteristic operation or if a characteristic update notification has
been received.
Returns | |
---|---|
byte[] |
Cached value of the characteristic |
getWriteType
public int getWriteType ()
Gets the write type for this characteristic.
Returns | |
---|---|
int |
Write type for this characteristic
Value is WRITE_TYPE_DEFAULT , WRITE_TYPE_NO_RESPONSE , or WRITE_TYPE_SIGNED |
setValue
public boolean setValue (String value)
This method was deprecated
in API level 33.
Pass the characteristic value directly into BluetoothGatt.writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic, byte[], int)
Set the locally stored value of this characteristic.
See setValue(byte[])
for details.
Parameters | |
---|---|
value |
String : New value for this characteristic |
Returns | |
---|---|
boolean |
true if the locally stored value has been set |
setValue
public boolean setValue (int value, int formatType, int offset)
This method was deprecated
in API level 33.
Pass the characteristic value directly into BluetoothGatt.writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic, byte[], int)
Set the locally stored value of this characteristic.
See setValue(byte[])
for details.
Parameters | |
---|---|
value |
int : New value for this characteristic |
formatType |
int : Integer format type used to transform the value parameter |
offset |
int : Offset at which the value should be placed |
Returns | |
---|---|
boolean |
true if the locally stored value has been set |
setValue
public boolean setValue (byte[] value)
This method was deprecated
in API level 33.
Pass the characteristic value directly into BluetoothGatt.writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic, byte[], int)
Updates the locally stored value of this characteristic.
This function modifies the locally stored cached value of this characteristic. To send the
value to the remote device, call BluetoothGatt.writeCharacteristic
to send the value
to the remote device.
Parameters | |
---|---|
value |
byte : New value for this characteristic |
Returns | |
---|---|
boolean |
true if the locally stored value has been set, false if the requested value could not be stored locally. |
setValue
public boolean setValue (int mantissa, int exponent, int formatType, int offset)
This method was deprecated
in API level 33.
Pass the characteristic value directly into BluetoothGatt.writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic, byte[], int)
Set the locally stored value of this characteristic.
See setValue(byte[])
for details.
Parameters | |
---|---|
mantissa |
int : Mantissa for this characteristic |
exponent |
int : exponent value for this characteristic |
formatType |
int : Float format type used to transform the value parameter |
offset |
int : Offset at which the value should be placed |
Returns | |
---|---|
boolean |
true if the locally stored value has been set |
setWriteType
public void setWriteType (int writeType)
Set the write type for this characteristic
Setting the write type of a characteristic determines how the BluetoothGatt.writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic, byte[], int)
function write
this characteristic.
Parameters | |
---|---|
writeType |
int : The write type to for this characteristic.
Value is WRITE_TYPE_DEFAULT , WRITE_TYPE_NO_RESPONSE , or WRITE_TYPE_SIGNED |
writeToParcel
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.
This value cannot be null . |
flags |
int : Additional flags about how the object should be written.
May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE .
Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE , and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |