Most visited

Recently visited

Added in API level 18

BluetoothGattServer

public final class BluetoothGattServer
extends Object implements BluetoothProfile

java.lang.Object
   ↳ android.bluetooth.BluetoothGattServer


蓝牙GATT配置文件服务器角色的公共API。

此类提供蓝牙GATT服务器角色功能,允许应用程序创建蓝牙智能服务和特性。

BluetoothGattServer是通过IPC控制蓝牙服务的代理对象。 使用openGattServer(Context, BluetoothGattServerCallback)获取此类的实例。

Summary

Inherited constants

From interface android.bluetooth.BluetoothProfile

Public methods

boolean addService(BluetoothGattService service)

将服务添加到要托管的服务列表。

void cancelConnection(BluetoothDevice device)

断开已建立的连接,或取消当前正在进行的连接尝试。

void clearServices()

从提供的服务列表中删除所有服务。

void close()

关闭这个GATT服务器实例。

boolean connect(BluetoothDevice device, boolean autoConnect)

启动与支持蓝牙GATT的设备的连接。

List<BluetoothDevice> getConnectedDevices()

不支持 - 请使用 getConnectedDevices(int)GATT作为参数

int getConnectionState(BluetoothDevice device)

不支持 - 请使用 getConnectedDevices(int)GATT作为参数

List<BluetoothDevice> getDevicesMatchingConnectionStates(int[] states)

不支持 - 请使用 getDevicesMatchingConnectionStates(int, int[])GATT作为第一个参数

BluetoothGattService getService(UUID uuid)

从此设备提供的服务列表中返回 BluetoothGattService

List<BluetoothGattService> getServices()

返回此设备提供的GATT服务列表。

boolean notifyCharacteristicChanged(BluetoothDevice device, BluetoothGattCharacteristic characteristic, boolean confirm)

发送通知或指示本地特征已更新。

boolean removeService(BluetoothGattService service)

从要提供的服务列表中删除服务。

boolean sendResponse(BluetoothDevice device, int requestId, int status, int offset, byte[] value)

将读取或写入请求的响应发送到远程设备。

Inherited methods

From class java.lang.Object
From interface android.bluetooth.BluetoothProfile

Public methods

addService

Added in API level 18
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

cancelConnection

Added in API level 18
void cancelConnection (BluetoothDevice device)

断开已建立的连接,或取消当前正在进行的连接尝试。

需要 BLUETOOTH权限。

Parameters
device BluetoothDevice: Remote device

clearServices

Added in API level 18
void clearServices ()

从提供的服务列表中删除所有服务。

需要 BLUETOOTH权限。

close

Added in API level 18
void close ()

关闭这个GATT服务器实例。 应用程序应在使用此GATT服务器完成后尽早调用此方法。

connect

Added in API level 18
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

getConnectedDevices

Added in API level 18
List<BluetoothDevice> getConnectedDevices ()

不支持 - 请使用 getConnectedDevices(int)GATT作为参数

Returns
List<BluetoothDevice> List of devices. The list will be empty on error.
Throws
UnsupportedOperationException

getConnectionState

Added in API level 18
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

getDevicesMatchingConnectionStates

Added in API level 18
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

getService

Added in API level 18
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.

getServices

Added in API level 18
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.

notifyCharacteristicChanged

Added in API level 18
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

removeService

Added in API level 18
boolean removeService (BluetoothGattService service)

从要提供的服务列表中删除服务。

需要 BLUETOOTH权限。

Parameters
service BluetoothGattService: Service to be removed.
Returns
boolean true, if the service has been removed

sendResponse

Added in API level 18
boolean sendResponse (BluetoothDevice device, 
                int requestId, 
                int status, 
                int offset, 
                byte[] value)

将读取或写入请求的响应发送到远程设备。

当这些回调方法之一收到远程读/写请求时,必须调用此函数:

需要 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

Hooray!