如何使用 BluetoothLeAdvertiser 添加特征?

How do you add Characteristics using BluetoothLeAdvertiser?

检查 Android BluetoothLE 外围设备 API 我想知道您如何做以下事情?

您正在寻找蓝牙 Gatt 服务器角色,BluetoothLeAdvertiser 不能包含特征。阅读 BluetoothGattServer Android

也试着回答了你所有的问题。

  • 如何添加特征(具有通知、读取等权限, 写,...)

不要直接添加characteristic,要在Service中添加characteristic,可以给chars以上权限(read,write,notify)。阅读此 BluetoothGattCharacteristic

  • 您对写入请求有何反应?

你得到系统调用的回调方法(onWriteRequest 之类的东西),然后你改变你的数据,你应该调用 sendResponse 方法,阅读 link.

  • 您如何检测数据读取?

onReadRequest 方法被系统调用。在 android 文档(link 已共享)

上阅读有关 gatt 服务器回调的信息
  • 可以办理特征订阅吗?

是的,你可以。将字符添加到服务中,将它们注册到 gattServer(见上文),如果监控角色要求通知注册,则每次数据更改时都会发送通知。

  • 您如何将更新发送到订阅了您的特征之一的中心?

你打电话给notifyCharacteristicChanged

  • 为什么 google 没有给出这些功能的任何详细文档?

BLE 是新的,android 仍在努力首先找到稳定的解决方案,没有评论为什么 Google 没有给出。