BLE GATT 上传数据 - Android
Posted
技术标签:
【中文标题】BLE GATT 上传数据 - Android【英文标题】:BLE GATT upload data - Android 【发布时间】:2014-10-01 19:16:22 【问题描述】:尝试使用三星 Galaxy S4 连接到 BLE 设备(GATT 服务器), 我成功连接到设备并获得了心跳。
现在我需要将 1280 个字节作为 16 个 80 个字节的块发送。接收到这 16 个块后的设备应回复 16 个上传状态,
我得到的只是其中一个块的一种上传状态(不是特定的,随机的)
我尝试通过 (this.wait, Thread.sleep..) 使用许多值更改发送间隔, 没有任何好的结果。
使用 Objective-c (iPhone) 的类似应用程序在设备上运行良好:(
** 我认为这可能与 关于这个问题的任何提示? 或管理传输速率(间隔)的方法**
runOnUiThread(new Runnable()
@Override
public void run()
for (int i = 0; i < chunkToUpload; ++i)
sendNthModeData(i);
try
//this.wait(100);
Thread.sleep(30,1);
catch (InterruptedException e)
e.printStackTrace();
);
【问题讨论】:
【参考方案1】:您需要等待onCharacteristicWrite
在BluetoothGattCallback
中被调用,然后才能发送下一位数据,否则其他数据会掉在地上。因此,在您覆盖 onCharacteristicWrite
时,如果您还有更多内容要编写,则为该写入启动一个 Runnable。
【讨论】:
以上是关于BLE GATT 上传数据 - Android的主要内容,如果未能解决你的问题,请参考以下文章