Im Laufe des Tages kann es passieren, dass die Verbindung der KI-Brille zum Hostgerät (z. B. dem Smartphone des Nutzers) unterbrochen wird oder die Brille vorübergehend nicht verfügbar ist, wenn der Nutzer sie abnimmt. Um diese Art von Änderungen der Geräteverfügbarkeit zu berücksichtigen, kann Ihre App die XR Device Availability API verwenden, die Signale zur Geräteverfügbarkeit in den Standard-Android-Lifecycle.State-Werten zusammenfasst. Mit dieser API können Sie das Audio-Routing und die Hotword-Aktivierung verwalten und erfahren, wann Nutzereingaben zu erwarten sind, je nachdem, wann die KI-Brille verfügbar ist.
Lebenszyklusstatus
In der folgenden Tabelle sehen Sie, wie die Signale zur Geräteverfügbarkeit den Lifecycle.State-Werten zugeordnet werden.
Lebenszyklusstatus |
Gerätestatus |
Beschreibung |
|---|---|---|
|
Erstellt |
Das Lebenszyklusobjekt wurde erstellt, aber noch nicht beobachtet. |
|
Inaktiv |
Der Dienst ist verbunden, aber der Nutzer trägt das Gerät nicht. |
|
Aktiv |
Der Nutzer trägt das Gerät. |
|
Nicht verbunden |
Das Gerät ist nicht verbunden oder die Dienstverbindung ist unterbrochen. |
Geräteverfügbarkeit prüfen und im Blick behalten
Um die Verfügbarkeit eines Geräts zu prüfen und zu überwachen, verwenden Sie einen projizierten Kontext zusammen mit dem Lebenszyklusstatus, um festzulegen, wie Ihre App die einzelnen Fälle behandeln soll:
val xrDevice = XrDevice.getCurrentDevice(projectedContext) xrDevice.getLifecycle().currentStateFlow .takeWhile { it != Lifecycle.State.DESTROYED } .collect { state -> when (state) { Lifecycle.State.STARTED -> { /* Device is ACTIVE (worn) */ } Lifecycle.State.CREATED -> { /* Device is INACTIVE (not worn) */ } else -> { /* Handle other states */ } } } }
Wichtige Punkte zum Code
- Verbindung prüfen: Bevor Sie auf den Gerätelebenszyklus zugreifen, rufen Sie
ProjectedContext.isProjectedDeviceConnectedauf, um zu prüfen, ob das projizierte Gerät mit dem Hostgerät verbunden ist. ProjectedContextabrufen: Rufen SieProjectedContext.createProjectedDeviceContexterst auf, nachdem Sie die Verbindung überprüft haben, und übergeben Sie diesen Kontext an IhreXrDevice-Instanz.- Kontextungültigkeit verarbeiten: Jedes Mal, wenn ein Gerät mit Projektionsfläche verbunden wird, wird ein neues
deviceIdgeneriert. Sobald der StatusDESTROYEDerreicht ist, ist die aktuelleProjectedContextungültig. Verwenden Sie es nicht mehr und warten Sie auf eine neue Verbindung. - Akku und Ressourcen optimieren: Die App-Funktionalität sollte basierend auf dem Lebenszyklusstatus ordnungsgemäß behandelt werden, um Systemressourcen zu schonen und den Akkuverbrauch zu reduzieren. Beispiel: Sie sollten die Projektion von UI-Inhalten auf die KI-Brille beenden, wenn sich der Status in
CREATEDändert.