Ich analysiere eine Probe von Android, die einen Bluetooth Low Energy Usage auf Android erklärt. Ich habe den folgenden Code gefunden, der eine Benachrichtigung setzt, aber ich kann nicht herausfinden, was hier passiert, wenn ich einen Eigenschaften-Integer und Bedingungen innerhalb von ifs verwende. Könnte es jemand ein wenig erklären?Lesen von Bluetooth Low Energy-Eigenschaften (Lesen, Benachrichtigungen) - wie es funktioniert?
Wie auch immer, vielleicht haben Sie eine bessere Quelle, die ein ble Konzept auf Android erklären kann - was und wie funktioniert hier? Die offiziellen Android-Tutorial sind wirklich schlecht, und offizielle Seite Bluetooth gibt so gut wie nichts ...
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition,
int childPosition, long id) {
if (mGattCharacteristics != null) {
final BluetoothGattCharacteristic characteristic =
mGattCharacteristics.get(groupPosition).get(childPosition);
final int charaProp = characteristic.getProperties();
if ((charaProp | BluetoothGattCharacteristic.PROPERTY_READ) > 0) {
// If there is an active notification on a characteristic, clear
// it first so it doesn't update the data field on the user interface.
if (mNotifyCharacteristic != null) {
mBluetoothLeService.setCharacteristicNotification(
mNotifyCharacteristic, false);
mNotifyCharacteristic = null;
}
mBluetoothLeService.readCharacteristic(characteristic);
}
if ((charaProp | BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0) {
mNotifyCharacteristic = characteristic;
mBluetoothLeService.setCharacteristicNotification(
characteristic, true);
}
return true;
}
return false;
}
Dieses Beispiel ist wirklich in allen möglichen Arten gebrochen. Es gibt wahrscheinlich Tonnen von anderen Beispielen, wenn Sie nur im Internet suchen. – Emil
@Emil, Ja, es gibt WAHRSCHEINLICH viele andere Beispiele, aber ich habe versucht, einige zu finden - und sie sind auf andere Weise kompliziert. Viele von ihnen sind anders geschrieben. Keines der Beispiele/Tutorials, die ich gefunden habe, erklärt einige Grundlagen von BLE wie das Lesen von einigen Bits und so weiter, oder einfach nur dumm, eine grundlegende UUID aus der 16-Bit-Erstellung zu erklären. – Krystian