BLE GATT上传数据 - Android

时间:2014-10-01 19:16:23

标签: android bluetooth-lowenergy gatt

尝试连接BLE设备(GATT服务器)使用Samsung Galaxy S4, 我成功连接到设备并获得了心跳。

现在我需要发送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 个答案:

答案 0 :(得分:0)

您必须等待onCharacteristicWrite中的BluetoothGattCallback被调用才能发送下一位数据,否则其他数据将被丢弃。因此,在覆盖onCharacteristicWrite时,如果您有更多要编写的内容,请为该写入启动Runnable。