2011-01-07 5 views
3

Ich habe die Ziel-Bluetooth-Gerät MAC-ID und würde gerne sehen, ob es in Reichweite ist. Wie kann ich eine Verbindung zum Zielgerät herstellen, wenn ich seine ID habe und sie sich im versteckten Modus befindet?Entdecke versteckte Bluetooth-Gerät mit bekannter ID

Ich benutze bluecove (java) dafür.

Antwort

5

Ich bin mir nicht sicher, was Sie mit "versteckten Modus" meinen. Sie können eine Verbindung zu einem Gerät herstellen, das nicht erkennbar ist, aber Sie können keine Verbindung zu einem Gerät herstellen, das nicht verbunden werden kann.

Im Allgemeinen müssen Sie mit JSR-82 (oder Bluecove, einer JSR-82-Implementierung) ein RemoteDevice Objekt haben, um eine Verbindung zu öffnen. Die einzige Möglichkeit, eine RemoteDevice zu erhalten, ist über Gerätesuche. Es sieht so aus, als könnten Sie in Ihrem Fall keine Gerätesuche durchführen, da das Gerät "versteckt" ist.

In Bluecove werden Sie feststellen, dass RemoteDevice einen geschützten Konstruktor hat, der eine Bluetooth-Adresse String verwendet. Sie können eine Unterklasse von RemoteDevice erstellen, die diesen Konstruktor einfach öffentlich macht. Zum Beispiel:

 
public class MyRemoteDevice extends javax.Bluetooth.RemoteDevice { 
    public MyRemoteDevice(String addr) { 
    super(addr); 
    } 
} 

Sie können dann eine Instanz von MyRemoteDevice ihm die bekannten MAC-Adresse vorbei, erstellen und verwenden, um die Verbindung zu öffnen.

+1

Das funktioniert wie ein Charme, ich getestet mit einer BlueCove-Client-Anwendung und einem Bluetooth-Server auf Android. –

Verwandte Themen