2016-09-16 9 views

答えて

2

要求をキューに入れるには、要求のArraylistを持つキュークラスを作成することができます。

要求をキューに追加してキューを処理し始める(キューがまだ処理されていない場合)たびに、現在のアイテムを処理したら、処理するアイテムがまだあるかどうかをチェックし、アイテムを処理し続けます。

リクエストの1つが滞った場合に備えてタイムアウトを追加する必要があるかもしれません。あなたはハンドラを使用してキューを処理する可能性がどのように

サンプルコード:

private void startProcessingQueue() { 
    if (queueIsRunning) { 
     return; 
    } 

    queueIsRunning = true; 
    h.postDelayed(new Runnable(){ 
     public void run(){ 
      processQueue(); 

      if(queue.isEmpty()) { 
       queueIsRunning = false; 
       return; 
      } 

      h.postDelayed(this, QUEUE_PROCESSING_DELAY); 
     } 
    }, QUEUE_PROCESSING_DELAY); 
} 
0

完全にすべてのGATT操作をキューイングする方法を示しNordicSemiconductorsオープンソースプロジェクトPuck Central、またはより具体的にGattManager classを、チェックしてください。

この種の低レベルのブルートゥース仕様を処理したくない場合は、偉大なライブラリRxAndroidBleをお勧めします。