尝试连接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();
}
}
}
});
答案 0 :(得分:0)
您必须等待onCharacteristicWrite
中的BluetoothGattCallback
被调用才能发送下一位数据,否则其他数据将被丢弃。因此,在覆盖onCharacteristicWrite
时,如果您有更多要编写的内容,请为该写入启动Runnable。