Ich versuche, die Grundlagen der Verwendung von Bluetooth durch eine einfache Anwendung zu bekommen. Ich möchte auch eine Laptop-Anwendung, damit ich Bluetooth-Kommunikation einfach debuggen kann. Der folgende Code ist mein Versuch mit dem Laptop als Client (mit BlueCove 2.1.0) und dem Tablet als Server (Android 2.2).
Soweit ich weiß, sollte dies wie geschrieben funktionieren, und der Laptop nimmt sowohl das Tablet als auch den angebotenen Dienst auf. Die Zeile "StreamConnection conn = (StreamConnection) Connector.open(url, Connector.READ_WRITE);"
gibt jedoch jedes Mal null zurück.
Irgendwelche Ideen, was schief läuft? Hier ist die Ausgabe aus dem Code:
BlueCove Version 2.1.0 auf winsock
Adresse: 68A3C44A5265
Name: WS1497
Startgeräteanfrage ...
Gerät entdeckt: 2013E061D922
Gerät entdeckt: 00242BFE7375
INQUIRY_COMPLETED
Geräteanfrage abgeschlossen.
Serviceanfrage gestartet.
Von: Galaxy Tab
Service Suche abgeschlossen - Code: 1
Von: WS1190
Service Suche abgeschlossen - Code: 4
Bluetooth-Geräte:
1. 2013E061D922 (Galaxy Tab)
2. 00242BFE7375 (WS1190)
btspp: // 2013E061D922: 20; authenticate = false; encrypt = false; master = false ---- = null
Ausnahme im Thread "main" java.lang.NullPointerException
bei MainClass.main (MainClass.java:104)
Herunterfahren des BlueCove-Stacks abgeschlossen
Und hier ist der Code, den ich benutze:
Laptop-Code:
%Vor%Android:
%Vor%Bit einer Aktualisierung nach einer langen Zeit - stellt sich heraus, Bluetooth erfordert UUIDs das Formular "0000xxxx0000000000800000805f9b34fb", die die Frage warum nicht nur 16-Bit-Kennungen statt 128-Bit-UUIDs, aber egal
Ich weiß nicht, ob BlueCove damit auf meinem Laptop funktioniert, aber meine letzten Experimente auf meinem Laptop mit Linux und 'Bluez' deuten darauf hin, dass jede UUID dieses Formulars funktioniert. Android sollte das in ihren Dokumenten als eine Art Notiz aufnehmen.
Das ist eine alte Frage, also weiß ich nicht, ob jemand immer noch nach einer Antwort sucht, aber hier ist doch einer ... :). Die Zeile, nach der Sie gefragt haben, gibt null zurück, weil url
null ist. Probieren Sie diese UUID statt der in Ihrem Code: 0000110100001000800000805f9b34fb
.