私はSamsung BLE API (archived page)から"Guide and Hint" -docで読んで覚えている:サムスンF/Wとスタック その同期自然での最も重要な概念のネイティブAndroid BLE実装は本質的に同期していますか?
一つ。それは
true
、onCharacteristicRead
コールバックを受信した後に行われるべき任意BluetoothGatt
又はBluetoothGattServer
方法 に次の呼び出しを返した場合、我々は、特定の特性のために、例えばwriteCharacteristic
を呼び出す場合には、です。 これは、一度に1つの GATTコールのみをサポートして処理するようにスタックが設計されているためで、writeCharacteristic
またはreadCharacteristic
のいずれかの特性をすぐに に呼び出した場合は無視されます。また、BLEのnativ実装に適用されます
- んは、Android 4.3で を導入しましたか?
- Samsung APIは、一度に1つの接続されたGATTデバイスもサポートしています。 これはネイティブAPIで変更されていますか?
Googleの問題追跡ツールにAPIの同期性に関するスレッドがあります。https://code.google.com/p/android/issues/detail?id=58381 –
キューのすべての書き込みとこれはこれまでのところよく動作しているようです。 –
@Ash SAMSUNGが提供するドキュメントによれば、振る舞いは書き込み操作に限定されません。はい、キューを使用することは、その問題を解決する一般的な方法です。これまでのところうまく働いています:別のコマンドによるコマンドの取り消しをテストして再現するのは難しいです。以前の呼び出しに基づいてより多くの処理を行うため、BLEコードが複雑になると問題が発生することがよくあります。私は、終了する前(応答を受け取った)または前のものの後に、適切な時間に終了できなかった後にのみ、次のBLE操作を行います。ちなみに、あなたのコメントは、この質問に対する答えとして、より適しています。 – OneWorld