Das Gerätemanagement
Die JSR-82-Spezifikation führt zwei Klassen ein, die man für das Gerätemanagement benutzen kann: LocalDevice und RemoteDevice.
- LocalDevice ermöglicht die Abfrage statischer Informationen über das Bluetooth-Gerät. Sie ist von der Klasse javax.bluetooth.DeviceClass abhängig, um den Typ des Geräts und die Arten der verfügbaren Dienste abzurufen.
- RemoteDevice erlaubt es, Informationen über Geräte in der Bluetooth-Umgebung abzufragen. Sie repräsentiert ein autarkes Gerät innerhalb der Reichweite und stellt Methoden bereit, um Informationen über das Gerät abzufragen, darunter dessen Bluetooth-Adresse und -Namen.
Jedes Bluetooth-Gerät hat eine eindeutige Hardware-Adresse, ähnlich der MAC-Adresse von Computern. Das Niveau der Gerätesuche lässt sich einstellen. Dadurch wird es anderen Bluetooth-Geräten ermöglicht, das aktuelle Objekt zu finden. Dazu wird die Methode setDiscoverable() im LocalDevice-Objekt aufgerufen:
Die Gerätesuche
Drahtlose Geräte benötigen einen Mechanismus, mit dem sie andere Gerätschaften finden und Zugriff auf deren Funktionen erhalten können. Die DiscoveryAgent-Klasse der Kern-Bluetooth-API und die DiscoveryListener-Schnittstelle stellen die erforderlichen Suchdienste bereit. Es gibt drei Möglichkeiten, eine Liste der zugänglichen Geräte zu erhalten. Die Methode DiscoveryAgent.startInquiry() versetzt das Gerät in einen Suchmodus. Um diesen Modus nutzen zu können, muss die Applikation einen Ereignis-Listener spezifizieren, der auf Suchereignisse reagiert. DiscoveryListener.deviceDiscovered() wird jedes Mal aufgerufen, wenn eine Suche ein Gerät findet. Nach Beendigung oder Abbruch einer Suche wird DiscoveryListener.inquiryCompleted() aufgerufen.
Falls das Gerät nicht darauf warten möchte, dass andere Geräte erkannt werden, kann es die Methode DiscoveryAgent.retrieveDevices() verwenden, um eine schon vorhandene Liste aufzurufen. Je nach dem übergebenen Parameter gibt diese Methode entweder eine Liste von Geräten aus, die in einer früheren Suche gefunden wurden, oder eine Liste registrierter Geräte. In diesem Fall hat das lokale Gerät dem Bluetooth-Control-Center bereits mitgeteilt, dass es häufig Verbindung mit diesen aufnehmen wird.
Der folgende Code zeigt das einfachste Verfahren, bei dem DiscoveryAgent nach einem Objekt gefragt wird, um einen jedes Mal über die DiscoveryListener-Schnittstelle zu benachrichtigen, wenn ein neues Bluetooth-Gerät entdeckt wird.
Neueste Kommentare
Noch keine Kommentare zu So lassen sich Bluetooth-Anwendungen mit J2ME entwickeln
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.