Android: Wie funktionieren Bluetooth-UUIDs?
Ich verstehe nicht, was eine Bluetooth-UUID bedeutet. Bezeichnen UUIDs Protokolle (z.RFCOMM)? Wenn ja, warum?createRfcommSocketToServiceRecord()
Methoden benötigen UUIDs, wenn sie in ihren Namen das Recht rfcomm angeben? Warum hat der BluetoothChat-Beispielcode eine scheinbar willkürliche, fest codierte UUID?
Meine Frage stellt sich da lautdiese FrageIch erhalte eine Nullzeiger-Ausnahme, wenn Geräte mit 4.0.4 versuchen, eine Verbindung (zu einem externen Gerät, das kein Android-Gerät ist) mithilfe von Reflection herzustellen. Die Lösung dieser Frage funktioniert bei mir jedoch nicht.UUID muuid = device.getUuids()[0].getUuid();
Löst eine Ausnahme aus.
Bearbeiten: Ich habe dieses Problem durch Hardcodierung der UUID für den seriellen Portdienst gemäß gelöstdiese Antwort (mitUUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
).
Ich bin weiterhin verwirrt, warum ich eine UUID angeben muss, um einen ungesicherten RFComm-Socket mit zu erstellencreateInsecureRfcommSocketToServiceRecord(),
aber nicht mit der Reflektionsmethode.
Kann mich jemand zurechtbringen?