Verschiedene Arten von KI-Brillen haben unterschiedliche Funktionen. Alle KI-Brillen bieten beispielsweise Audiofunktionen über Sprache, einige KI-Brillen haben aber auch ein Display, auf dem Ihre App mit Jetpack Compose Glimmer erstellte UIs anzeigen kann.
Damit Nutzer auf verschiedenen KI-Brillen eine reibungslose Nutzung erleben, sollten Sie Ihren Activity für Brillen so planen, dass er die verschiedenen Gerätefunktionen prüft.
Dieser Ansatz vereinfacht die Entwicklung, da Sie nur eine Aktivität erstellen müssen, die ihr Verhalten anpasst, anstatt mehrere Aktivitäten, die auf bestimmte Geräte ausgerichtet sind.
Lebenszyklus von geschätzten Aktivitäten
Die Aktivität, die Sie für KI-Brillen entwickeln, wird nicht direkt auf dem Gerät ausgeführt, sondern von einem Hostgerät (z. B. dem Smartphone des Nutzers) auf das Gerät projiziert. Spezielle Aktivitäten, die Sie für diesen Zweck erstellen, sind projizierte Aktivitäten. Der Lebenszyklus von projizierten Aktivitäten basiert auf dem Standard-Aktivitätslebenszyklus, weist aber auch einige wichtige Unterschiede auf, die die Funktionen verschiedener Arten von KI-Brillen unterstützen.
Hier finden Sie eine Aufschlüsselung der Schlüsselereignisse mit Hinweisen zu Interaktionen, die speziell für Aktivitäten gelten, die auf KI-Brillen projiziert werden:
onCreate()- Wird aufgerufen, wenn die projizierte Aktivität erstellt wird.
- Initialisieren Sie hier die Glimmer-Benutzeroberfläche und andere Komponenten Ihrer App, die auf Jetpack Compose basieren.
onStart()- Wird aufgerufen, wenn die projizierte Aktivität beginnt und der Nutzer die App kennt.
onResume()- Wird aufgerufen, wenn die projizierte Aktivität wieder im Fokus ist. Wenn die Aktivität im Fokus ist, kann mit ihr interagiert werden und sie kann Touchpad- oder Tasteneingaben verarbeiten.
- Wird aufgerufen, wenn die Brille wieder aufgesetzt wird, nachdem sie zuvor abgenommen wurde.
onPause()- Wird aufgerufen, wenn die projizierte Aktivität den Fokus verliert, der Nutzer aber weiterhin aufmerksam auf Ihre App ist. Während die Aktivität nicht im Fokus ist, kann nicht mit ihr interagiert werden und sie verarbeitet keine Eingaben mehr.
onStop()- Wird aufgerufen, wenn das System davon ausgeht, dass der Nutzer Ihre App nicht mehr wahrnimmt.
- Wird aufgerufen, wenn die Brille vom Kopf abgenommen wird.
onDestroy()- Wird aufgerufen, wenn die projizierte Aktivität zerstört wird. Wenn diese Methode aufgerufen wird, gibt das System alle Ressourcen frei, die an die Aktivität gebunden sind.
Auswirkungen des Anzeigestatus auf den prognostizierten Aktivitätslebenszyklus
In einem Standard-Activity ändert sich der Lebenszyklusstatus, wenn das Display des Geräts ausgeschaltet wird. In der Regel wechselt er dann zu onPause() oder onStop(). Im Gegensatz dazu ändert sich der Lebenszyklus der projizierten Aktivität nicht, wenn das Display der KI-Brille ein- oder ausgeschaltet wird. Das bedeutet, dass die projizierte Aktivität weiterhin im Status „Gestartet“ oder „Fortgesetzt“ ausgeführt wird, auch wenn das Display ausgeschaltet ist. So können die Audiofunktionen Ihrer App ohne Unterbrechung fortgesetzt werden.
Andere Änderungen des Aktivitätsstatus, die durch verschiedene System- und Nutzerereignisse ausgelöst werden, verhalten sich wie gewohnt.
Auswirkungen der Nutzeraufklärung auf die prognostizierte Aktivität
Nutzer können Ihre geplanten Aktivitäten sehen, auch wenn sie nicht sichtbar sind. Wahrnehmung bezieht sich auf alle Möglichkeiten, wie ein Nutzer die Funktionen Ihrer App wahrnehmen und mit ihnen interagieren kann, einschließlich der folgenden:
- Audioinhalte, hörbares Feedback oder andere Audiosignale werden wiedergegeben.
- App-Aktionen, die eine für den Nutzer sichtbare LED auslösen, z. B. eine Datenschutzanzeige, wenn Ihre App auf die Kamera oder das Mikrofon zugreift.
In diesen Situationen weiß der Nutzer, dass die KI-Brille aktiv ist und reagiert, auch wenn er nicht auf ein Display schaut:
- Der Status
onStart()für prognostizierte Aktivitäten bedeutet, dass die Aktivität aktiv ist. - Der Status
onResume()bedeutet, dass die Aktivität interaktiv ist und Touchpad-Eingaben empfangen kann oder primäre Eingaben empfängt.
Solange der Nutzer Ihre App sieht, bleibt Ihre Aktivität aktiv und im Vordergrund. Wenn das System für kurze Zeit keine Signale für die Aufmerksamkeit erkennt, wird die Aktivität aus dem Vordergrund entfernt und schließlich onStop() ausgelöst.
Prognostizierte Aktivitäten und Kontexte
KI-Brillen werden als verbundenes Gerät behandelt, das die Funktionen des Smartphones eines Nutzers erweitert. Ein projizierter Kontext ist ein gerätebewusstes Context, mit dem Apps mit der Hardware einer verbundenen Brille interagieren können, z. B. mit den Sensoren, der Kamera oder dem Mikrofon, anstatt mit der Hardware des Smartphones. Wenn Sie Apps für KI-Brillen entwickeln, muss Ihre App einen projizierten Kontext verwenden, um auf die Hardware der Brille zuzugreifen.
Ein projizierter Kontext kann Ihrer App automatisch gewährt werden, je nach Kontext der Anrufaktivität:
Für projizierte Aktivitäten: Wenn der Code Ihrer App in Ihrer projizierten Aktivität ausgeführt wird, ist der zugehörige Aktivitätskontext bereits ein projizierter Kontext. In diesem Szenario können Anrufe, die innerhalb dieser Aktivität getätigt werden, bereits auf die Hardware der Brille zugreifen.
Für Smartphone-Apps oder ‑Dienste: Wenn ein Teil Ihrer App außerhalb Ihrer projizierten Aktivität (z. B. eine Smartphone-Aktivität oder ein Dienst) auf die Hardware der Brille zugreifen muss, muss er explizit einen projizierten Kontext abrufen. Verwenden Sie dazu die Methode
createProjectedDeviceContext().
Weitere Informationen finden Sie unter Projizierten Kontext verwenden, um auf die Hardware der KI-Brille zuzugreifen.
Gerätebezogene APIs
Bei einigen Standard-Android-APIs wird je nach Context der aufrufenden Aktivität auf die Hardware des Geräts zugegriffen. Wenn diese APIs einen projizierten Kontext empfangen, greifen sie auf die Hardware der KI-Brille statt auf die Hardware des Host-Smartphones zu:
CameraManager: Greift auf die Kamera der Brille zu.SensorManager: Ruft Sensordaten (z. B. Gyroskop- oder Beschleunigungsmesserdaten) von der Brille ab.AudioManager: Verwaltet Audiostreams, Lautstärke und Routing auf der Brille.AudioRecord: Audio wird über das Mikrofon der Brille aufgenommen.