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?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage