CommonBleService

com.roumai.myodecoder.device.ble.CommonBleService

Overview

CommonBleService 是一个通用蓝牙服务,不仅针对 MyoDecoder 设备,对于任何蓝牙设备都是通用的。 它提供了常用的 connect disconnect 方法,我们在里面添加了基础的电池电量订阅服务,如果开发者的协议也有属于基础服务的,可以继承或扩展此类。

Constructors

#constructor/1

构造器,方便蓝牙具体服务的使用,需要蓝牙实现类的实例来完成初始化。

参数类型描述
delegateBleDelegate蓝牙代理类实例
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}%")
}

Advanced Example

FAQ