首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android BLE同时在多个BLE硬件上写入数据

Android BLE同时在多个BLE硬件上写入数据
EN

Stack Overflow用户
提问于 2014-12-08 19:08:57
回答 1查看 773关注 0票数 1

我正在开发一个安卓应用程序,我使用安卓BLE api连接到传感器devices.Things运行得很好,但是我用我的安卓应用程序连接了4个BLE h/w设备,但是当我试图同时在所有4个BLe设备上写入一些数据时,它只在一个设备上写入数据,我不能同时在所有设备上写入数据。

下面是我在单个BLE设备上写入数据的代码:

代码语言:javascript
复制
if(btWriteGattChar == null)
            return;
        btWriteGattChar.setWriteType(BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE);
        btWriteGattChar.setValue(dat);
        mBluetoothGatt[tabIndex].writeCharacteristic(btWriteGattChar);

上面的代码适用于单个BLE设备,但它不允许我在所有其他设备上写入相同的数据。

请告诉我在多个BLE设备上写入相同数据的错误步骤在哪里。

EN

回答 1

Stack Overflow用户

发布于 2014-12-16 19:55:17

不,你不能这么做。文档中没有说明,但是所有的BLE操作实际上都是同步的。

api本身是异步的,但BLE堆栈只能逐个执行。例如,在调用writeCharacteristic之后,您必须等待onCharacteristicWrite,然后才能将其写入另一个设备/特征,否则您将获得未定义的行为。如果您不等待回调,则可以编写后续特征,也可以不编写。

至少在4.4.4版本中是这样的。不过,我没有检查这是不是在5.0以后的版本中修复的。无论如何,如果你的应用程序支持5.0之前的操作系统版本,你必须考虑到这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27356668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档