本文只讲述实际开发中的最基本的概念、用法及代码,不过多深入概念及源码。
什么是周边设备
- BLE(蓝牙4.0+) 有两种状态模式:中心(center)及peripheral(周边)。
- 大多数中心设备的扮演者是手机、电脑等能主动去连接别人的设备,而大多数周边设备就等着这些中心设备连接,如手环、血糖仪等。
- Android从 Lolipop 开始支持了BLE Peripheral(周边设备)开发。
- 如果你希望使Android设备开启为周边设备模式,请往下看。
配置
在 AndroidManifest.xml 中 添加以下权限:
|
|
开启蓝牙
|
|
到这里如果 mBluetoothLeAdvertiser 为空,请换设备再继续(国内部分机型不支持)
建立服务
|
|
开启广播
成功开启广播后,中心设备能够扫描到你的设备,当然前提是中心设备支持ble设备,并且在扫描ble设备。
中心设备能获取到你ble设备的所有信息,包括 GattService 及其 BluetoothGattCharacteristic。
|
|
广播回调
|
|
Gatt服务回调
|
|
写出数据
与中心设备的写出方法不同,周边设备通过 notifyCharacteristicChanged 方法,类似通知的方法写出数据。
当然,sendResponse 也能用于返回数据。
|
|