CommonBleService
com.roumai.myodecoder.device.ble.CommonBleService
Overview
CommonBleService
是一个通用蓝牙服务,不仅针对 MyoDecoder 设备,对于任何蓝牙设备都是通用的。
它提供了常用的 connect
disconnect
方法,我们在里面添加了基础的电池电量订阅服务,如果开发者的协议也有属于基础服务的,可以继承或扩展此类。
Constructors
#constructor/1
构造器,方便蓝牙具体服务的使用,需要蓝牙实现类的实例来完成初始化。
参数 | 类型 | 描述 |
---|---|---|
delegate | BleDelegate | 蓝牙代理类实例 |
val delegate = BleDelegateDefaultImpl(device)
val service = CommonBleService(delegate)
Functions
#connect/0
连接设备。与 BleDelegate
不同的是,在成功连接后会自动设置合适的连接参数,如 MTU = 502 等。
返回值类型 | 描述 |
---|---|
Boolean | 连接是否成功 |
val success = service.connect()
if (success) {
// 连接成功
}
#disconnect/0
断开设备连接。
返回值类型 | 描述 |
---|---|
Boolean | 断开是否成功 |
val success = service.disconnect()
if (success) {
// 断开成功
}
#isConnected/0
判断设备是否已连接。
返回值类型 | 描述 |
---|---|
Boolean | 是否已连接 |
val connected = service.isConnected()
if (connected) {
// 已连接
}
#observeBatteryLevel/1
订阅电池电量。
参数 | 类型 | 描述 |
---|---|---|
callback | (Int) -> Unit | 电量更新回调函数,电量单位:% |
service.observeBatteryLevel { level ->
Log.i(TAG, "Battery level: ${level}%")
}