15

我记得在三星 BLE API(存档页面)的“指南和提示” -doc 中阅读:

三星 F/W 和堆栈最重要的概念之一是其同步特性。也就是说,例如,如果我们针对 writeCharacteristic特定特征调用,如果它返回 true,则对任何BluetoothGattBluetoothGattServer方法的下一次调用应该在onCharacteristicRead接收到回调之后完成。这是因为堆栈被设计为一次只支持和处理一个 GATT 调用,例如,如果您 在第一个调用之后不久调用writeCharacteristic或处理任何特征,则它会被忽略。readCharacteristic

  1. 这是否也适用于 Android 4.3 中引入的 BLE 的本机实现?
  2. 三星 API 一次也只支持一个连接的 GATT 设备。这在本机 API 中是否发生了变化?
4

2 回答 2

18

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

堆栈和 F/W 的同步特性没有受到影响。也就是说,例如,如果我们调用writeCharacteristic某个特定的特征,如果它返回 true,那么下一次调用 anyBluetoothGattBluetoothGattServer方法应该在onCharacteristicRead收到回调之后进行。这是因为堆栈被设计为一次仅支持和处理一个 GATT 调用,例如,如果您在第一个调用之后调用或调用,它将被忽略writeCharacteristicreadCharacteristiccharacteristic

于 2013-08-05T09:23:58.297 回答
-2
  1. 不,大多数函数调用都是异步的。
  2. 我不知道。官方文档没有提到它,但也没有说它只支持一种设备。我相信这是可能的。检查这篇文章:http ://blog.lemberg.co.uk/getting-bottom-android-bluetooth-low-energy-api#.UfvK6ZK-1cY

它说(我不知道它的来源是什么)多个外围设备可以连接到一个 Android Central 设备

于 2013-08-02T15:07:36.460 回答