使用BLE作为主机(中心设备)时,需要在附近有可扫描的从机设备,通过扫描设备、连接设备后,则可进行传输操作。其中每次能传输的数据大小,多由从机设备决定,目前外围低功耗BLE设备每次只能传输20Byte,当用Ios和android作服务端时,可单次传输更多的数据。
一、获取蓝牙管理类
BluetoothManager :用来管理Adapter、获取连接状态之类,别个创建外围设备时需要用它来创建GattServer。
BluetoothAdapter :BLE的一系列打开、关闭、扫描,以及一些硬件信息均能在该类中获取。
相应的获取如下:
final BluetoothManager bluetoothManager =
(BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
mBluetoothAdapter = bluetoothManager.getAdapter();
二、扫描广播
使用BluetoothAdapter可以扫描周围的外围设备,扫描设备是一个非常耗电的操作,需要及时关闭扫描,扫描的信息会通过回调LeScanCallback返回,其中最常用的Mac地址被作为唯一标识符,可用来连接外围设置,另外扫描回调是多线程的,最好