public class BluetoothGattCharacteristic
extends Object
implements Parcelable
java.lang.Object | |
↳ | android.bluetooth.BluetoothGattCharacteristic |
代表蓝牙GATT特性
GATT特征是用于构建GATT服务的基本数据元素, BluetoothGattService
。 该特性包含一个值以及附加信息和可选的GATT描述符, BluetoothGattDescriptor
。
Constants |
|
---|---|
int |
FORMAT_FLOAT 特性值格式类型float(32位浮点型) |
int |
FORMAT_SFLOAT 特征值格式类型sfloat(16位浮点型) |
int |
FORMAT_SINT16 特征值格式类型sint16 |
int |
FORMAT_SINT32 特征值格式类型sint32 |
int |
FORMAT_SINT8 特征值格式类型sint8 |
int |
FORMAT_UINT16 特征值格式类型uint16 |
int |
FORMAT_UINT32 特征值格式类型uint32 |
int |
FORMAT_UINT8 特征值格式类型uint8 |
int |
PERMISSION_READ 特征读取权限 |
int |
PERMISSION_READ_ENCRYPTED 特征权限:允许加密的读取操作 |
int |
PERMISSION_READ_ENCRYPTED_MITM 特征许可:允许用中间人保护阅读 |
int |
PERMISSION_WRITE 特征写入权限 |
int |
PERMISSION_WRITE_ENCRYPTED 特征权限:允许加密写入 |
int |
PERMISSION_WRITE_ENCRYPTED_MITM 特性许可:允许使用中间保护进行加密写入 |
int |
PERMISSION_WRITE_SIGNED 特征权限:允许签名写入操作 |
int |
PERMISSION_WRITE_SIGNED_MITM 特性许可:允许使用中间人保护进行签名写入操作 |
int |
PROPERTY_BROADCAST 特点:特点是可播放的。 |
int |
PROPERTY_EXTENDED_PROPS 特性:特性具有扩展特性 |
int |
PROPERTY_INDICATE 特性:特性支持指示 |
int |
PROPERTY_NOTIFY 特性:特性支持通知 |
int |
PROPERTY_READ 特性:特性可读。 |
int |
PROPERTY_SIGNED_WRITE 特性:特性支持用签名书写 |
int |
PROPERTY_WRITE 特性:可以写入特性。 |
int |
PROPERTY_WRITE_NO_RESPONSE 特性:特性可以被写入而没有响应。 |
int |
WRITE_TYPE_DEFAULT 写入特征,请求远程设备确认 |
int |
WRITE_TYPE_NO_RESPONSE Wrtite特性,而不需要远程设备的响应 |
int |
WRITE_TYPE_SIGNED 写入特征包括验证签名 |
Inherited constants |
---|
From interface android.os.Parcelable
|
Fields |
|
---|---|
public static final Creator<BluetoothGattCharacteristic> |
CREATOR |
protected List<BluetoothGattDescriptor> |
mDescriptors 描述符列表包含在此特性中。 |
Public constructors |
|
---|---|
BluetoothGattCharacteristic(UUID uuid, int properties, int permissions) 创建一个新的BluetoothGattCharacteristic。 |
Public methods |
|
---|---|
boolean |
addDescriptor(BluetoothGattDescriptor descriptor) 为此特性添加一个描述符。 |
BluetoothGattDescriptor |
getDescriptor(UUID uuid) 从此特征的描述符列表中返回具有给定UUID的描述符。 |
List<BluetoothGattDescriptor> |
getDescriptors() 返回此特征的描述符列表。 |
Float |
getFloatValue(int formatType, int offset) 返回此特性的存储值。 |
int |
getInstanceId() 返回此特性的实例ID。 |
Integer |
getIntValue(int formatType, int offset) 返回此特性的存储值。 |
int |
getPermissions() 返回此特性的权限。 |
int |
getProperties() 返回此特性的属性。 |
BluetoothGattService |
getService() 返回此特性所属的服务。 |
String |
getStringValue(int offset) 返回此特性的存储值。 |
UUID |
getUuid() 返回此特征的UUID |
byte[] |
getValue() 获取此特征的存储值。 |
int |
getWriteType() 获取此特征的写入类型。 |
boolean |
setValue(String value) 设置该特征的本地存储值。 |
boolean |
setValue(int value, int formatType, int offset) 设置该特征的本地存储值。 |
boolean |
setValue(byte[] value) 更新本特性的本地存储值。 |
boolean |
setValue(int mantissa, int exponent, int formatType, int offset) 设置该特征的本地存储值。 |
void |
setWriteType(int writeType) 为此特性设置写入类型 设置特征的写入类型决定了 |
void |
writeToParcel(Parcel out, int flags) 将此对象平铺到一个包裹中。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface android.os.Parcelable
|
int PERMISSION_READ_ENCRYPTED
特征权限:允许加密的读取操作
常量值:2(0x00000002)
int PERMISSION_READ_ENCRYPTED_MITM
特征许可:允许用中间人保护阅读
常量值:4(0x00000004)
int PERMISSION_WRITE_ENCRYPTED
特征权限:允许加密写入
常量值:32(0x00000020)
int PERMISSION_WRITE_ENCRYPTED_MITM
特性许可:允许使用中间保护进行加密写入
常量值:64(0x00000040)
int PERMISSION_WRITE_SIGNED
特征权限:允许签名写入操作
常量值:128(0x00000080)
int PERMISSION_WRITE_SIGNED_MITM
特性许可:允许使用中间人保护进行签名写入操作
常量值:256(0x00000100)
int PROPERTY_EXTENDED_PROPS
特性:特性具有扩展特性
常量值:128(0x00000080)
int PROPERTY_SIGNED_WRITE
特性:特性支持用签名书写
常量值:64(0x00000040)
int PROPERTY_WRITE_NO_RESPONSE
特性:特性可以被写入而没有响应。
常量值:4(0x00000004)
int WRITE_TYPE_NO_RESPONSE
Wrtite特性,而不需要远程设备的响应
常数值:1(0x00000001)
BluetoothGattCharacteristic (UUID uuid, int properties, int permissions)
创建一个新的BluetoothGattCharacteristic。
需要 BLUETOOTH
权限。
Parameters | |
---|---|
uuid |
UUID : The UUID for this characteristic |
properties |
int : Properties of this characteristic |
permissions |
int : Permissions for this characteristic |
boolean addDescriptor (BluetoothGattDescriptor descriptor)
为此特性添加一个描述符。
需要 BLUETOOTH
权限。
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)
从此特征的描述符列表中返回具有给定UUID的描述符。
Parameters | |
---|---|
uuid |
UUID
|
Returns | |
---|---|
BluetoothGattDescriptor |
GATT descriptor object or null if no descriptor with the given UUID was found. |
List<BluetoothGattDescriptor> getDescriptors ()
返回此特征的描述符列表。
Returns | |
---|---|
List<BluetoothGattDescriptor> |
Descriptors for this characteristic |
Float getFloatValue (int formatType, int offset)
返回此特性的存储值。
有关详细信息,请参阅 getValue()
。
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 ()
返回此特性的实例ID。
如果远程设备使用相同的UUID提供多个特征,则使用实例ID来消除特征之间的差异。
Returns | |
---|---|
int |
Instance ID of this characteristic |
Integer getIntValue (int formatType, int offset)
返回此特性的存储值。
formatType参数确定如何解释特征值。 例如,将FORMAT_UINT16
设置为FORMAT_UINT16
指定给定偏移量处特征值的前两个字节被解释为生成返回值。
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 | |
---|---|
int |
Permissions of this characteristic |
int getProperties ()
返回此特性的属性。
这些属性包含属性标志的位掩码,指示此特征的特征。
Returns | |
---|---|
int |
Properties of this characteristic |
BluetoothGattService getService ()
返回此特性所属的服务。
Returns | |
---|---|
BluetoothGattService |
The asscociated service |
String getStringValue (int offset)
返回此特性的存储值。
有关详细信息,请参阅 getValue()
。
Parameters | |
---|---|
offset |
int : Offset at which the string value can be found. |
Returns | |
---|---|
String |
Cached value of the characteristic |
byte[] getValue ()
获取此特征的存储值。
此函数返回通过调用readCharacteristic(BluetoothGattCharacteristic)
检索到的此特性的存储值。 特性的高速缓存值由于读取特征操作或接收到特征更新通知而更新。
Returns | |
---|---|
byte[] |
Cached value of the characteristic |
int getWriteType ()
获取此特征的写入类型。
Returns | |
---|---|
int |
Write type for this characteristic |
boolean setValue (String value)
设置该特征的本地存储值。
有关详细信息,请参阅 setValue(byte[])
。
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)
设置该特征的本地存储值。
详情请参阅 setValue(byte[])
。
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)
更新本特性的本地存储值。
此功能修改本地存储的此特性的缓存值。 要将值发送到远程设备,请致电writeCharacteristic(BluetoothGattCharacteristic)
将值发送到远程设备。
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)
设置该特征的本地存储值。
详情请参阅 setValue(byte[])
。
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)
为此特性设置写入类型
设置特征的写入类型决定了 writeCharacteristic(BluetoothGattCharacteristic)
函数如何写入该特征。
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)
将此对象平铺到一个包裹中。
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 . |