如何使用BluetoothLeAdvertiser添加特征?

时间:2015-03-27 11:27:48

标签: android bluetooth-lowenergy android-5.0-lollipop android-bluetooth

在检查Android BluetoothLE Peripheral API后,我想知道如何做以下事情?

  • 如何添加Characterisitics(具有Notify,Read,Write等权限)
  • 你如何回应写请求?
  • 您如何检测数据的读取?
  • 您能处理特征订阅吗?
  • 如何向订阅了某个角色的中心发送更新?

  • 为什么google没有提供这些功能的大量文档?

1 个答案:

答案 0 :(得分:3)

您正在寻找Bluetooth Gatt Server角色,BluetoothLeAdvertiser无法包含特性。阅读BluetoothGattServer Android

也尝试回答你的所有问题。

  • 如何添加特征(如Notify,Read,Permissions) 写,...)

您不直接添加特征,您必须在Service中添加特性,您可以为chars提供上述权限(读取,写入,通知)。阅读此BluetoothGattCharacteristic

  • 您如何回应撰写请求?

你得到系统调用的回调方法(onWriteRequest),然后你改变数据,你应该调用sendResponse方法,阅读链接。

  • 如何检测数据读取?

onReadRequest方法被系统调用。在android文档上阅读有关gatt服务器回调的信息(链接已经共享)

  • 您能处理特征订阅吗?

是的,你可以。将chars添加到服务中,使用gattServer注册它们(如上所述),如果monitor角色要求通知注册,则每次数据更改时都会发送通知。

  • 如何向订阅了某个角色的中心发送更新?

你致电notifyCharacteristicChanged

  • 为什么google没有提供有关这些功能的大量文档?

BLE是新的,Android仍然在努力争取首先获得稳定的解决方案,没有评论谷歌未给出的原因。