私はBLE接続を開始しました。onServicesDiscovered
すべての記述子を読み上げます。そこにそれらの5があり、私はこれを続行:GATT onDescriptorRead - コールバックは1つだけです
@Override
public void onDescriptorRead(BluetoothGatt gatt, final BluetoothGattDescriptor descriptor, int status)
{
deviceInfoArray.add(new ItemSlideMenu(new String(descriptor.getValue()));
}
:
for (int n=0;n<descriptors.size();n++)
{
gatt.readDescriptor(descriptors.get(n));
}
記述子は が続い読み込みコールバックが呼ばれ、私はディスクリプタ値を読み出すつもりです...すべての記述子が含まれています
問題は、読み取りコールバックが5回ではなく1回だけ呼び出されることです。なぜ、どのようにこれを修正するか教えていただけますか?
gatt操作が実行されているかどうかを確認する方法はありますか?それらをまとめてキューしたいのですが、どちらが時間通りに実行されているのかわかりません。 –
これを確認する方法はありません。あなたはスレッドセーフな方法でそれを自分で行う必要があります – Emil
うーん。私はすべての操作を書き留めて、今は手動でチェックしています。よく働く! –