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.
Das funktioniert wie ein Charme, ich getestet mit einer BlueCove-Client-Anwendung und einem Bluetooth-Server auf Android. –