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
.
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 man-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 man-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 man-in-the-middle protection |
int |
PROPERTY_BROADCAST
Characteristic proprty: 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 acknoledgement by the remote device |
int |
WRITE_TYPE_NO_RESPONSE
Wrtite characteristic without requiring a response by the remote device |
int |
WRITE_TYPE_SIGNED
Write characteristic including authentication signature |
Inherited constants |
---|
From
interface
android.os.Parcelable
|
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. |
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)
Return the stored value of this characteristic. |
int
|
getInstanceId()
Returns the instance ID for this characteristic. |
Integer
|
getIntValue(int formatType, int offset)
Return the stored value of this characteristic. |
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)
Return the stored value of this characteristic. |
UUID
|
getUuid()
Returns the UUID of this characteristic |
byte[]
|
getValue()
Get the stored value for this characteristic. |
int
|
getWriteType()
Gets the write type for this characteristic. |
boolean
|
setValue(String value)
Set the locally stored value of this characteristic. |
boolean
|
setValue(int value, int formatType, int offset)
Set the locally stored value of this characteristic. |
boolean
|
setValue(byte[] value)
Updates the locally stored value of this characteristic. |
boolean
|
setValue(int mantissa, int exponent, int formatType, int offset)
Set the locally stored value of this characteristic. |
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 | |
---|---|
From
class
java.lang.Object
| |
From
interface
android.os.Parcelable
|
int FORMAT_FLOAT
Characteristic value format type float (32-bit float)
Constant Value: 52 (0x00000034)
int FORMAT_SFLOAT
Characteristic value format type sfloat (16-bit float)
Constant Value: 50 (0x00000032)
int FORMAT_SINT16
Characteristic value format type sint16
Constant Value: 34 (0x00000022)
int FORMAT_SINT32
Characteristic value format type sint32
Constant Value: 36 (0x00000024)
int FORMAT_SINT8
Characteristic value format type sint8
Constant Value: 33 (0x00000021)
int FORMAT_UINT16
Characteristic value format type uint16
Constant Value: 18 (0x00000012)
int FORMAT_UINT32
Characteristic value format type uint32
Constant Value: 20 (0x00000014)
int FORMAT_UINT8
Characteristic value format type uint8
Constant Value: 17 (0x00000011)
int PERMISSION_READ
Characteristic read permission
Constant Value: 1 (0x00000001)
int PERMISSION_READ_ENCRYPTED
Characteristic permission: Allow encrypted read operations
Constant Value: 2 (0x00000002)
int PERMISSION_READ_ENCRYPTED_MITM
Characteristic permission: Allow reading with man-in-the-middle protection
Constant Value: 4 (0x00000004)
int PERMISSION_WRITE
Characteristic write permission
Constant Value: 16 (0x00000010)
int PERMISSION_WRITE_ENCRYPTED
Characteristic permission: Allow encrypted writes
Constant Value: 32 (0x00000020)
int PERMISSION_WRITE_ENCRYPTED_MITM
Characteristic permission: Allow encrypted writes with man-in-the-middle protection
Constant Value: 64 (0x00000040)
int PERMISSION_WRITE_SIGNED
Characteristic permission: Allow signed write operations
Constant Value: 128 (0x00000080)
int PERMISSION_WRITE_SIGNED_MITM
Characteristic permission: Allow signed write operations with man-in-the-middle protection
Constant Value: 256 (0x00000100)
int PROPERTY_BROADCAST
Characteristic proprty: Characteristic is broadcastable.
Constant Value: 1 (0x00000001)
int PROPERTY_EXTENDED_PROPS
Characteristic property: Characteristic has extended properties
Constant Value: 128 (0x00000080)
int PROPERTY_INDICATE
Characteristic property: Characteristic supports indication
Constant Value: 32 (0x00000020)
int PROPERTY_NOTIFY
Characteristic property: Characteristic supports notification
Constant Value: 16 (0x00000010)
int PROPERTY_READ
Characteristic property: Characteristic is readable.
Constant Value: 2 (0x00000002)
int PROPERTY_SIGNED_WRITE
Characteristic property: Characteristic supports write with signature
Constant Value: 64 (0x00000040)
int PROPERTY_WRITE
Characteristic property: Characteristic can be written.
Constant Value: 8 (0x00000008)
int PROPERTY_WRITE_NO_RESPONSE
Characteristic property: Characteristic can be written without response.
Constant Value: 4 (0x00000004)
int WRITE_TYPE_DEFAULT
Write characteristic, requesting acknoledgement by the remote device
Constant Value: 2 (0x00000002)
int WRITE_TYPE_NO_RESPONSE
Wrtite characteristic without requiring a response by the remote device
Constant Value: 1 (0x00000001)
int WRITE_TYPE_SIGNED
Write characteristic including authentication signature
Constant Value: 4 (0x00000004)
List<BluetoothGattDescriptor> mDescriptors
List of descriptors included in this characteristic.
BluetoothGattCharacteristic (UUID uuid, int properties, int permissions)
Create a new BluetoothGattCharacteristic.
Requires BLUETOOTH
permission.
Parameters | |
---|---|
uuid |
UUID :
The UUID for this characteristic |
properties |
int :
Properties of this characteristic |
permissions |
int :
Permissions for this characteristic
|
boolean addDescriptor (BluetoothGattDescriptor descriptor)
Adds a descriptor to this characteristic.
Requires BLUETOOTH
permission.
Parameters | |
---|---|
descriptor |
BluetoothGattDescriptor :
Descriptor to be added to this characteristic. |
Returns | |
---|---|
boolean |
true, if the descriptor was added to the characteristic |
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. |
List<BluetoothGattDescriptor> getDescriptors ()
Returns a list of descriptors for this characteristic.
Returns | |
---|---|
List<BluetoothGattDescriptor> |
Descriptors for this characteristic |
Float getFloatValue (int formatType, int offset)
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. |
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 |
Integer getIntValue (int formatType, int offset)
Return the stored value of this characteristic.
The formatType parameter determines how the characteristic value
is to be interpreted. For example, settting 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. |
int getPermissions ()
Returns the permissions for this characteristic.
Returns | |
---|---|
int |
Permissions of this characteristic |
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 |
BluetoothGattService getService ()
Returns the service this characteristic belongs to.
Returns | |
---|---|
BluetoothGattService |
The asscociated service |
String getStringValue (int offset)
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 |
UUID getUuid ()
Returns the UUID of this characteristic
Returns | |
---|---|
UUID |
UUID of this characteristic |
byte[] getValue ()
Get the stored value for this characteristic.
This function returns the stored value for this characteristic as
retrieved by calling readCharacteristic(BluetoothGattCharacteristic)
. 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 |
int getWriteType ()
Gets the write type for this characteristic.
Returns | |
---|---|
int |
Write type for this characteristic |
boolean setValue (String value)
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 |
boolean setValue (int value, int formatType, int offset)
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 |
boolean setValue (byte[] value)
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
writeCharacteristic(BluetoothGattCharacteristic)
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. |
boolean setValue (int mantissa, int exponent, int formatType, int offset)
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 |
void setWriteType (int writeType)
Set the write type for this characteristic
Setting the write type of a characteristic determines how the
writeCharacteristic(BluetoothGattCharacteristic)
function write this
characteristic.
Parameters | |
---|---|
writeType |
int :
The write type to for this characteristic. Can be one
of:
WRITE_TYPE_DEFAULT ,
WRITE_TYPE_NO_RESPONSE or
WRITE_TYPE_SIGNED .
|
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_WRITE_RETURN_VALUE .
|