© prettyboy80/Shutterstock.com
Mobile Technology
Kommunikation via Bluetooth unter Windows Phone 8

Von App zu App

Mit der Einführung von Windows Phone 8 wurden neue Möglichkeiten der Kommunikation via Bluetooth direkt aus der App heraus bereitgestellt. Der folgende Artikel gibt einen Überblick über die Optionen zum Aufbau und zur Verwendung einer Verbindung. Die vollständigen Quellcodes der Beispiele liegen unter [1].

Matthias Fischer


Auf dem Windows Phone 7 gab es für Apps nur die Möglichkeit, über IP-Verbindungen zu kommunizieren, was eine lokale Verbindung durch verschiedene Netzwerkinfrastrukturen (z. B. Firewalls) oft erschwerte. Mit der neuen Version Windows Phone 8 kommen zwei weitere Möglichkeiten zur lokalen Kommunikation hinzu: NFC (Near Field Communication) ist für besonders kurze Distanzen von ein bis zwei Zentimetern und kleinere Datenmengen besonders gut geeignet (siehe Windows Developer 11.2013). Wenn jedoch größere Datenmengen über eine Distanz von bis zu zehn Metern übertragen werden sollen, bietet sich Bluetooth an.

Bluetooth kann in zwei verschiedenen Szenarien verwendet werden: Eine App kann eine Verbindung zu einem externen Gerät aufbauen, hierbei spricht man von der App2Device-Kommunikation. Ein Beispiel dafür ist die Verwendung einer GPS-Maus mit dem Telefon direkt aus der App heraus. In diesem Fall ist es erforderlich, das Gerät vor der Verwendung in der App mit dem Telefon zu koppeln.

Die zweite Möglichkeit ist, dass eine App mit der gleichen oder einer anderen App auf einem zweiten Smart­phone oder einem Windows-8-PC kommuniziert. In diesem Fall ist keine Kopplung außerhalb der App erforderlich. In beiden Szenarien wird ein StreamSocket bereitgestellt, mit dessen Hilfe Nachrichten zwischen den Kommunikationspartnern ausgetauscht werden können.

App2Device-Szenario

Bevor eine App jedoch Zugriff auf das Bluetooth-API des Telefons bekommt, muss diese Funktion im WMAppMainifest.xml beim Benutzer angefordert und bei der Installation von ihm bestätigt werden. Öffnen Sie dazu die Datei WMAppManifest.xml und aktivieren die Funktionen ID_CAP_PROXIMITY und ID_CAP_NETWORKING.

Zum Verbindungsaufbau mit einem Gerät muss dieses zunächst mit dem Windows Phone gekoppelt werden (engl. pairing). Anschließend können alle gekoppelten Geräte mithilfe der Klasse PeerFinder ermittelt werden. Setzt man den Filter für die verbundenen Geräte auf eine leere Zeichenkette, werden alle Geräte angezeigt:

try{ PeerFinder.AlternateIdentities["Bluetooth:Paired"] = ""; var peers = await PeerFinder.FindAllPeersAsync();} catch (Exception ex) { if ((uint)ex.HResult == 0x8007048F) MessageBox.Show("Bluetooth is switched off");}

Sollte Bluetooth deaktiviert sein, wird eine Exception geworfen, die ein entsprechendes HResult enthält. An dieser Stelle kann entweder eine Fehlermeldung ausgegeben werden, die den Anwender dazu auffordert, Bluetooth zu aktivieren, oder der Anwender kann direkt zu dem entsprec...

Mobile Technology
Kommunikation via Bluetooth unter Windows Phone 8

Von App zu App

Mit der Einführung von Windows Phone 8 wurden neue Möglichkeiten der Kommunikation via Bluetooth direkt aus der App heraus bereitgestellt. Der folgende Artikel gibt einen Überblick über die Optionen zum Aufbau und zur Verwendung einer Verbindung. Die vollständigen Quellcodes der Beispiele liegen unter [1].

Matthias Fischer


Auf dem Windows Phone 7 gab es für Apps nur die Möglichkeit, über IP-Verbindungen zu kommunizieren, was eine lokale Verbindung durch verschiedene Netzwerkinfrastrukturen (z. B. Firewalls) oft erschwerte. Mit der neuen Version Windows Phone 8 kommen zwei weitere Möglichkeiten zur lokalen Kommunikation hinzu: NFC (Near Field Communication) ist für besonders kurze Distanzen von ein bis zwei Zentimetern und kleinere Datenmengen besonders gut geeignet (siehe Windows Developer 11.2013). Wenn jedoch größere Datenmengen über eine Distanz von bis zu zehn Metern übertragen werden sollen, bietet sich Bluetooth an.

Bluetooth kann in zwei verschiedenen Szenarien verwendet werden: Eine App kann eine Verbindung zu einem externen Gerät aufbauen, hierbei spricht man von der App2Device-Kommunikation. Ein Beispiel dafür ist die Verwendung einer GPS-Maus mit dem Telefon direkt aus der App heraus. In diesem Fall ist es erforderlich, das Gerät vor der Verwendung in der App mit dem Telefon zu koppeln.

Die zweite Möglichkeit ist, dass eine App mit der gleichen oder einer anderen App auf einem zweiten Smart­phone oder einem Windows-8-PC kommuniziert. In diesem Fall ist keine Kopplung außerhalb der App erforderlich. In beiden Szenarien wird ein StreamSocket bereitgestellt, mit dessen Hilfe Nachrichten zwischen den Kommunikationspartnern ausgetauscht werden können.

App2Device-Szenario

Bevor eine App jedoch Zugriff auf das Bluetooth-API des Telefons bekommt, muss diese Funktion im WMAppMainifest.xml beim Benutzer angefordert und bei der Installation von ihm bestätigt werden. Öffnen Sie dazu die Datei WMAppManifest.xml und aktivieren die Funktionen ID_CAP_PROXIMITY und ID_CAP_NETWORKING.

Zum Verbindungsaufbau mit einem Gerät muss dieses zunächst mit dem Windows Phone gekoppelt werden (engl. pairing). Anschließend können alle gekoppelten Geräte mithilfe der Klasse PeerFinder ermittelt werden. Setzt man den Filter für die verbundenen Geräte auf eine leere Zeichenkette, werden alle Geräte angezeigt:

try{ PeerFinder.AlternateIdentities["Bluetooth:Paired"] = ""; var peers = await PeerFinder.FindAllPeersAsync();} catch (Exception ex) { if ((uint)ex.HResult == 0x8007048F) MessageBox.Show("Bluetooth is switched off");}

Sollte Bluetooth deaktiviert sein, wird eine Exception geworfen, die ein entsprechendes HResult enthält. An dieser Stelle kann entweder eine Fehlermeldung ausgegeben werden, die den Anwender dazu auffordert, Bluetooth zu aktivieren, oder der Anwender kann direkt zu dem entsprec...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang