Geräte in einem Netzwerk mithilfe von Data Layer APIs erkennen

Geräte können entweder direkt über eine WLAN- oder Mobilfunkverbindung oder indirekt über ein gekoppeltes Bluetooth-Gerät eine Verbindung zum Internet herstellen.

Erreichbare und in der Nähe befindliche Knoten

Ein Gerät gilt als erreichbar, wenn es online und für die Kommunikation mit einem anderen Gerät verfügbar ist, entweder direkt über Bluetooth oder indirekt die Cloud als Vermittler.

Ein Gerät gilt als in der Nähe, wenn es direkt über Bluetooth verbunden werden kann, ohne die Cloud zu verwenden.

Aktivitäten, die sich auf die Dauer der erneuten Verbindung auswirken

Unter bestimmten Umständen kann es bis zu vier Minuten dauern, bis die Verbindung wiederhergestellt ist. Zu diesen Szenarien gehören:

  • Inaktive Wear OS-Geräte:Wenn ein Wear OS-Gerät vom Handgelenk des Nutzers entfernt oder aus anderen Gründen über einen längeren Zeitraum nicht aktiv verwendet wird, kann sich die Dauer der erneuten Verbindung verlängern.
  • Stromsparstatus:Der Energiesparmodus eines Handhelds kann Hintergrundprozesse einschränken und so möglicherweise die Verbindungszeit des Geräts verlängern.
  • Nutzerinteraktion:Wenn der Nutzer ungefähr gleichzeitig sowohl mit einem Handheld-Gerät als auch mit einem Wear OS-Gerät interagiert, beschleunigt dies häufig den Prozess der erneuten Verbindung.

Alle Geräte ermitteln, die einen Knotenclient verwenden

Ein NodeClient-Objekt identifiziert und sendet an die Liste der Android-Geräte, die mit einem Netzwerk verbunden sind, unabhängig von den Fähigkeiten des jeweiligen Geräts. Alle Apps auf einem Gerät erhalten diese Ereignisbenachrichtigungen, z. B. ein neues Gerät, das dem Netzwerk beitritt, oder ein vorhandenes Gerät, das offline geht.

Die Klasse NodeClient ist besonders hilfreich, um Geräte zu finden, auf denen deine App nicht installiert ist.

Bestimmte Geräte mithilfe eines Funktionsclients ermitteln

Ein CapabilityClient-Objekt liefert Informationen dazu, welche Geräte im Wear OS-Netzwerk bestimmte App-Funktionen unterstützen. Eine Funktion ist eine Funktion, die von einer App entweder zum Zeitpunkt der Build-Erstellung definiert oder zur Laufzeit dynamisch konfiguriert wird.

Beispielsweise könnte eine mobile Android-App dafür werben, dass sie die Fernbedienung der Videowiedergabe unterstützt. Die Wear OS-Version dieser App kann mithilfe von CapabilityClient prüfen, ob die mobile Version der App auf einem Gerät in der Nähe installiert ist und diese Funktion unterstützt. Ist dies der Fall, können in der Wear OS-App Schaltflächen für Wiedergabe und Pause angezeigt werden, damit Nutzer ein Video, das auf ihrem Mobilgerät wiedergegeben wird, über ihr Wear OS-Gerät steuern können. Die Capability Broadcast funktioniert auch in die entgegengesetzte Richtung. Wear OS-Apps können die von ihnen unterstützten Funktionen auflisten.

Neue Funktionen der App prüfen

Verwenden Sie CapabilityClient, um die Knoten-ID eines Geräts zu ermitteln, mit dem Sie kommunizieren müssen. Wenn du beispielsweise prüfen möchtest, ob eine neue Funktion in deiner App auf Handheld-Geräten vorhanden ist, erstelle eine Funktion für diese neue Funktion auf der Handheld-Seite. Deine Wear OS-App kann dann Geräte abfragen, die diese Funktion unterstützen. Wenn die Funktion auf allen Geräten fehlt, bedeutet dies, dass der Nutzer keine Version Ihrer Anwendung hat, die diese Funktion unterstützt. Dies sollten Sie in der Logik Ihrer Anwendung ordnungsgemäß verarbeiten. Wenn Sie davon ausgehen, dass das Handheld-Gerät immer der richtige Knoten für die Kommunikation ist, werden Ihre Nachrichten möglicherweise nicht zugestellt, da die Telefon-App diese Funktion nicht unterstützt.

Ermitteln, ob ein Wear OS-Gerät das einzige in einem Netzwerk ist

Mit CapabilityClient kannst du prüfen, ob deine App im eigenständigen Modus betrieben werden muss, da sich keine anderen Android-Geräte in der Nähe befinden. Wenn Sie FILTER_ALL umgehen, sollten keine anderen Geräte in den Ergebnissen angezeigt werden.