私はBLEでアンドロイドアプリケーションを開発しています。このアプリケーションの要件は、特定のハードウェアの電圧変動をさまざまな入力で更新することです。そこで、このアプリケーションでBLE通知APIを有効にします。これにより、最新のハードウェア電圧でアプリケーションに通知されます。Android BLE:特性タイプを特定しますか?
実装
mBluetoothGatt.setCharacteristicNotification(characteristic, enabled);
BluetoothGattDescriptor des = characteristic.getDescriptors();
des.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
//Set the value of the descriptor to enable notification
mBluetoothGatt.writeDescriptor(des);
私は同じガットでも、正常な応答を取得しています、私はガットコールバックメソッド
@Override
public void onCharacteristicChanged(BluetoothGatt Gatt, BluetoothGattCharacteristic characteristic) {
Log.w(TAG, "**ACTION_DATA_AVAILABLE**" + characteristic.getUuid());
//Indication or notification was received
broadcastUpdate(BLEConstants.ACTION_DATA_AVAILABLE, characteristic);
//Go broadcast an intent with the characteristic data
}
で通知値で通知を取得しています。しかし、私の問題がありますコールバックメソッド。通知をUIの特定の方法で更新したいと思います。だから私は通常の応答と通知を分離する必要があります。同じことをする方法はありますか?特定のメッセージを特定するオプションは、通知からのものですか?
あなたの更新をありがとう。とにかく、最初の選択肢は私の場合は適用されません。私はデータ受信セクションで複雑なシリアル通信プロトコルを管理しているからです。私は最初のオプションを試し、あなたを更新します。 – Nithinjith
この場合、2つのUUIDの MLDP_DATA_PRIVATE_CHAR = "00035b03-58e6-07dd-021a-08123a000301"を使用しています。 CHARACTERISTIC_NOTIFICATION_CONFIG = "00002902-0000-1000-8000-00805f9b34fb"; あなたの理解に基づいて、最初のものを通常のメッセージ用に、もう1つをNotfyメッセージ用に設定することができます。私は正しいですか? – Nithinjith
はい、そうするようにファームウェアを設定した場合。次に、通知(リアルタイムのデータストリーム)から回答を分離することができます。 – neogineer