あなたは利用可能なすべての特性のリストを持っている:https://www.bluetooth.com/specifications/gatt/characteristics
今、あなたはのUUIDのリストを実行し、それらを比較することができます。あなたはガットコールバックから特性を受け取るとき
その後
// All BLE characteristic UUIDs are of the form:
// 0000XXXX-0000-1000-8000-00805f9b34fb
// The assigned number for the Heart Rate Measurement characteristic UUID is
// listed as 0x2A37, which is how the developer of the sample code could arrive at:
// 00002a37-0000-1000-8000-00805f9b34fb
public static class Characteristic {
final static public UUID HEART_RATE_MEASUREMENT = UUID.fromString("00002a37-0000-1000-8000-00805f9b34fb");
final static public UUID CSC_MEASUREMENT = UUID.fromString("00002a5b-0000-1000-8000-00805f9b34fb");
final static public UUID MANUFACTURER_STRING = UUID.fromString("00002a29-0000-1000-8000-00805f9b34fb");
final static public UUID MODEL_NUMBER_STRING = UUID.fromString("00002a24-0000-1000-8000-00805f9b34fb");
final static public UUID FIRMWARE_REVISION_STRING = UUID.fromString("00002a26-0000-1000-8000-00805f9b34fb");
final static public UUID APPEARANCE = UUID.fromString("00002a01-0000-1000-8000-00805f9b34fb");
final static public UUID BODY_SENSOR_LOCATION = UUID.fromString("00002a38-0000-1000-8000-00805f9b34fb");
final static public UUID BATTERY_LEVEL = UUID.fromString("00002a19-0000-1000-8000-00805f9b34fb");
final static public UUID CLIENT_CHARACTERISTIC_CONFIG = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
}
、(リストと照合)をチェックしてみてくださいそれは特徴:
private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() {
...
@Override
public void onCharacteristicRead(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic,
int status) {
if (status == BluetoothGatt.GATT_SUCCESS) {
getCharacteristicValue(characteristic);
}
}
@Override
public void onCharacteristicChanged(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic) {
getCharacteristicValue(characteristic);
}
}
private void getCharacteristicValue(BluetoothGattCharacteristic characteristic) {
if(characteristic.getUuid().equals(Characteristic.HEART_RATE_MEASUREMENT)) {
if (mType == Accessory.Type.HRM && mBtLeGattServiceHeartrate != null) {
mBtLeGattServiceHeartrate.onCharacteristicChanged(mContext, BtLeDevice.this, characteristic);
}
}
}
希望、これはここではそのうちのいくつかを含むクラスがあります助けてください。
BluetoothGatt.getServices()リモートデバイスが提供するGATTサービスのリストを返します。その後、各サービスの特性を得るためにサービスを通過することができます。 idkあなたが間違っていること。可能であれば、いくつかのコードを共有してください。 –