public final class BluetoothGattServer
extends Object
implements BluetoothProfile
java.lang.Object | |
↳ | android.bluetooth.BluetoothGattServer |
蓝牙GATT配置文件服务器角色的公共API。
此类提供蓝牙GATT服务器角色功能,允许应用程序创建蓝牙智能服务和特性。
BluetoothGattServer是通过IPC控制蓝牙服务的代理对象。 使用openGattServer(Context, BluetoothGattServerCallback)
获取此类的实例。
Inherited constants |
---|
From interface android.bluetooth.BluetoothProfile
|
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface android.bluetooth.BluetoothProfile
|
boolean addService (BluetoothGattService service)
将服务添加到要托管的服务列表。
一旦将服务添加到列表中,服务及其包含的特征将由本地设备提供。
如果本地设备在调用此函数时已经公开了服务,则会向所有客户端发送服务更新通知。
需要 BLUETOOTH
权限。
Parameters | |
---|---|
service |
BluetoothGattService : Service to be added to the list of services provided by this device. |
Returns | |
---|---|
boolean |
true, if the service has been added successfully |
void cancelConnection (BluetoothDevice device)
断开已建立的连接,或取消当前正在进行的连接尝试。
需要 BLUETOOTH
权限。
Parameters | |
---|---|
device |
BluetoothDevice : Remote device |
boolean connect (BluetoothDevice device, boolean autoConnect)
启动与支持蓝牙GATT的设备的连接。
连接可能不会立即建立,但会在远程设备可用时完成。 当连接状态由于此功能而改变时, onConnectionStateChange(BluetoothDevice, int, int)
回调将被调用。
autoConnect参数确定是否主动连接到远程设备,或者当远程设备处于范围/可用状态时,被动扫描并最终确定连接。 通常,与设备的第一次连接应该是直接的(autoConnect设置为false),并且应该调用与已知设备的后续连接,并将autoConnect参数设置为true。
需要 BLUETOOTH
权限。
Parameters | |
---|---|
device |
BluetoothDevice
|
autoConnect |
boolean : Whether to directly connect to the remote device (false) or to automatically connect as soon as the remote device becomes available (true). |
Returns | |
---|---|
boolean |
true, if the connection attempt was initiated successfully |
List<BluetoothDevice> getConnectedDevices ()
不支持 - 请使用 getConnectedDevices(int)
和 GATT
作为参数
Returns | |
---|---|
List<BluetoothDevice> |
List of devices. The list will be empty on error. |
Throws | |
---|---|
UnsupportedOperationException |
int getConnectionState (BluetoothDevice device)
不支持 - 请使用 getConnectedDevices(int)
和 GATT
作为参数
Parameters | |
---|---|
device |
BluetoothDevice : Remote bluetooth device. |
Returns | |
---|---|
int |
State of the profile connection. One of STATE_CONNECTED , STATE_CONNECTING , STATE_DISCONNECTED , STATE_DISCONNECTING |
Throws | |
---|---|
UnsupportedOperationException |
List<BluetoothDevice> getDevicesMatchingConnectionStates (int[] states)
不支持 - 请使用 getDevicesMatchingConnectionStates(int, int[])
和 GATT
作为第一个参数
Parameters | |
---|---|
states |
int : Array of states. States can be one of STATE_CONNECTED , STATE_CONNECTING , STATE_DISCONNECTED , STATE_DISCONNECTING , |
Returns | |
---|---|
List<BluetoothDevice> |
List of devices. The list will be empty on error. |
Throws | |
---|---|
UnsupportedOperationException |
BluetoothGattService getService (UUID uuid)
从此设备提供的服务列表中返回 BluetoothGattService
。
如果存在同一服务的多个实例(由UUID标识),则返回服务的第一个实例。
需要 BLUETOOTH
权限。
Parameters | |
---|---|
uuid |
UUID : UUID of the requested service |
Returns | |
---|---|
BluetoothGattService |
BluetoothGattService if supported, or null if the requested service is not offered by this device. |
List<BluetoothGattService> getServices ()
返回此设备提供的GATT服务列表。
应用程序必须调用 addService(BluetoothGattService)
才能将 addService(BluetoothGattService)
添加到此设备提供的服务列表中。
需要 BLUETOOTH
权限。
Returns | |
---|---|
List<BluetoothGattService> |
List of services. Returns an empty list if no services have been added yet. |
boolean notifyCharacteristicChanged (BluetoothDevice device, BluetoothGattCharacteristic characteristic, boolean confirm)
发送通知或指示本地特征已更新。
通知或指示被发送到远程设备以发信号通知特征已被更新。 通过写入给定特性的“客户端配置”描述符,应该为每个请求通知/指示的客户端调用此函数。
需要 BLUETOOTH
权限。
Parameters | |
---|---|
device |
BluetoothDevice : The remote device to receive the notification/indication |
characteristic |
BluetoothGattCharacteristic : The local characteristic that has been updated |
confirm |
boolean : true to request confirmation from the client (indication), false to send a notification |
Returns | |
---|---|
boolean |
true, if the notification has been triggered successfully |
Throws | |
---|---|
|
IllegalArgumentException |
boolean removeService (BluetoothGattService service)
从要提供的服务列表中删除服务。
需要 BLUETOOTH
权限。
Parameters | |
---|---|
service |
BluetoothGattService : Service to be removed. |
Returns | |
---|---|
boolean |
true, if the service has been removed |
boolean sendResponse (BluetoothDevice device, int requestId, int status, int offset, byte[] value)
将读取或写入请求的响应发送到远程设备。
当这些回调方法之一收到远程读/写请求时,必须调用此函数:
onCharacteristicReadRequest(BluetoothDevice, int, int, BluetoothGattCharacteristic)
onCharacteristicWriteRequest(BluetoothDevice, int, BluetoothGattCharacteristic, boolean, boolean, int, byte[])
onDescriptorReadRequest(BluetoothDevice, int, int, BluetoothGattDescriptor)
onDescriptorWriteRequest(BluetoothDevice, int, BluetoothGattDescriptor, boolean, boolean, int, byte[])
需要 BLUETOOTH
权限。
Parameters | |
---|---|
device |
BluetoothDevice : The remote device to send this response to |
requestId |
int : The ID of the request that was received with the callback |
status |
int : The status of the request to be sent to the remote devices |
offset |
int : Value offset for partial read/write response |
value |
byte : The value of the attribute that was read/written (optional) |
Returns | |
---|---|
boolean |