2014-10-01 107 views
1

試圖連接到BLE設備(GATT服務器)使用三星Galaxy S4, 我成功連接到設備,並獲得心跳。BLE GATT上傳數據 - Android

現在我需要發送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

你需要等待onCharacteristicWriteBluetoothGattCallback被稱爲才能發送下一個數據位,否則其他數據將在您的覆蓋得到掉在了地上。所以, 0,如果你有更多的寫,然後旋轉一個Runnable爲寫。