Skip to content

BLE设备的属性及状态

Lijian edited this page May 19, 2018 · 3 revisions

BleDevice

BLE设备对象,作为本框架中的扫描、连接、操作的最小单元对象。

`String getName()` 蓝牙广播名

`String getMac()` 蓝牙Mac地址

`byte[] getScanRecord()` 广播数据

`int getRssi()` 初始信号强度

自行构建BleDevice

`BleDevice convertBleDevice(BluetoothDevice bluetoothDevice)`通过BluetoothDevice对象构建

`BleDevice convertBleDevice(ScanResult scanResult)`通过ScanResult对象构建

对于BLE设备扫描,官方API上提供了很多种方法,功能丰富,包括过滤规则、后台扫描等情况。FastBle框架中默认使用的是API21以下的兼容性扫描方式,建议有其他特殊需求开发者可以根据官方提供的[其他方法](https://developer.android.com/reference/android/bluetooth/le/BluetoothLeScanner.html)自定义扫描流程。然后利用FastBle框架中的方法对扫描到的设备进行连接等后续操作。

Tips:
- 构建完成的BleDevice对象依然是未连接状态,如需操作,先进行连接。

获取所有已连接设备

`List<BleDevice> getAllConnectedDevice()`

    BleManager.getInstance().getAllConnectedDevice();

获取某个已连接设备的BluetoothGatt

`BluetoothGatt getBluetoothGatt(BleDevice bleDevice)`

获取某个已连接设备的所有Service

`List<BluetoothGattService> getBluetoothGattServices(BleDevice bleDevice)`

获取某个Service的所有Characteristic

`List<BluetoothGattCharacteristic> getBluetoothGattCharacteristics(BluetoothGattService service)`

判断某个设备是否已连接

`boolean isConnected(BleDevice bleDevice)`

    BleManager.getInstance().isConnected(bleDevice);

`boolean isConnected(String mac)`

	BleManager.getInstance().isConnected(mac);

判断某个设备的当前连接状态

`int getConnectState(BleDevice bleDevice)`

	BleManager.getInstance().getConnectState(bleDevice);