Android: Jak działają UUID bluetooth?
Nie rozumiem, co oznacza UUID bluetooth. Czy UUID oznaczają protokoły (np.RFCOMM)? Jeśli tak, to dlaczegocreateRfcommSocketToServiceRecord()
metody wymagają identyfikatorów UUID, gdy określają rfcomm w swoich nazwach? Dlaczego przykładowy kod BluetoothChat ma pozornie arbitralny UUID?
Moje pytanie powstaje, ponieważ, jak zato pytanie, Otrzymuję wyjątek wskaźnika zerowego, gdy urządzenia działające w wersji 4.0.4 próbują połączyć się (z urządzeniem zewnętrznym, innym niż Android) za pomocą odbicia. Jednak rozwiązanie tego pytania nie działa dla mnie.UUID muuid = device.getUuids()[0].getUuid();
podnosi wyjątek.
Edytować: Rozwiązałem ten problem przez zakodowanie UUID dla usługi portu szeregowego zgodnie zta odpowiedź (za pomocąUUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
).
Zastanawiam się dalej, dlaczego muszę dostarczyć identyfikator UUID, aby utworzyć niezabezpieczone gniazdo rfcomm przy użyciucreateInsecureRfcommSocketToServiceRecord(),
ale nie używa metody odbicia.
Czy ktoś może mnie wyprostować?