本机Android BLE实现本质上是同步的吗?

时间:2013-08-02 08:06:22

标签: android bluetooth-lowenergy android-4.3-jelly-bean gatt

我记得在"Guide and Hint" - 文档中阅读了Samsung BLE API (archived page)

  

三星F / W和堆栈最重要的概念之一是   其同步性。也就是说,如果我们举个例子,   writeCharacteristic表示特定的特征,如果它返回   true,下次调用任何BluetoothGattBluetoothGattServer方法   应该在收到onCharacteristicRead回调后完成。   这是因为堆栈旨在仅支持和处理一个堆栈   GATT呼叫一次,例如,如果你打电话   关于任何特征的writeCharacteristicreadCharacteristic很快就会出现   在第一个之后,它被忽略。

  1. 这是否也适用于引入的BLE的本机实现 在Android 4.3?
  2. Samsung API一次只支持一个连接的GATT设备。 在本机API中是否已更改?

2 个答案:

答案 0 :(得分:17)

三星最近在我在我的问题中链接的同一页面上发布了一个“迁移”文档。他们在将新的原生BLE API与Samsung BLE API进行比较时完全回答了我的问题:

  

堆栈和F / W的同步特性未受影响。   也就是说,如果我们要求举例,writeCharacteristic为特定的   特征,如果返回true,则下一次调用任何BluetoothGatt   或BluetoothGattServer方法应在收到onCharacteristicRead回调后完成。这是因为堆栈是设计的   一次只支持和处理一个GATT呼叫,如果,支持   例如,您在第一个writeCharacteristic之后很快就会调用readCharacteristiccharacteristic,它会被忽略。

答案 1 :(得分:-1)

  1. 否。大多数函数调用都是异步的。
  2. 我不知道。官方文档没有提到它,但它并没有说它只支持一个设备。我相信它可以做到。查看此文章:http://blog.lemberg.co.uk/getting-bottom-android-bluetooth-low-energy-api#.UfvK6ZK-1cY
  3. 它说(我不知道它的来源是什么)多个外围设备可以连接到一个Android Central设备