Ich habe gerade begonnen, für Google Glass zu entwickeln, und ich kannte die GDK, wenn sie ziemlich neu ist, also ist das vielleicht noch nicht möglich, aber hier ist, was ich versuche:
Wie bei der Aufforderung "Anruf tätigen" oder der Aufforderung "Nachricht senden an" auf dem Bildschirm "OK Glas" möchte ich, dass in meiner App weitere Optionen für die Sprachauswahl ausgewählt werden, wenn Sie sie mit Ihrer Stimme auswählen. Mit den beiden Beispielen sehen Sie eine Kontaktliste, in der Sie Ihren Kopf nach oben und unten bewegen können, um mehr zu sehen, und die App wird nur dann weitere Aktionen ausführen, wenn Sie eine der angezeigten Optionen ausgewählt haben. Gibt es derzeit eine Möglichkeit, dies auf meiner eigenen App zu tun?
Jede Eingabe ist erwünscht!
Sie können eine Absicht aufrufen, um den Spracherkenner anzuzeigen, nachdem Ihre Aktivität gestartet wurde. Sie können also Ihre Stimme ab dem Start auslösen lassen und dann in der onResume () -Aktivität Ihrer Aktivität den Spracherkenner mit einer Art Prompt aufrufen (oder Sie könnten einfach die gesammelte erste Sprache als Eingabe aufzeichnen). :
%Vor%Sie benötigen dann eine onActivityResult () -Methode, um das Return-Formular des VoiceRecognizer zu verarbeiten.
Dies ist das in den GDK-Dokumenten beschriebene: Ссылка
Nicht sicher, ob es einen anderen Weg gibt.
Ich fand diese Antwort von eine weitere SO-Frage , die genau so aussieht, wie du es willst. Ich habe es selbst für meine eigene Glassware ausprobiert und es funktioniert einwandfrei. Wie in der Antwort unten erwähnt, gibt es eine Einschränkung, dass andere Apps, die den gleichen "ok glass" Sprachbefehl verwenden, das Untermenü teilen; Im folgenden Beispiel können beispielsweise andere Apps weitere Spiele wie "Golf" hinzufügen. Ein weiteres potenzielles Problem besteht darin, dass Sie für jede der gewünschten Optionen im Untermenü eine Aktivität oder einen Dienst benötigen.
"Wenn auf Glass mehrere Aktivitäten / Services mit dem gleichen Stimulus-Trigger-Filter installiert sind, werden alle ihre Namen verwendet (basierend auf dem android:label
-Attribut des <activity>
oder <service>
-Tags in AndroidManifest.xml
) erscheint in einem Disambiguierungs- "Untermenü", wenn Sie diesen Sprachauslöser sprechen.
Zum Beispiel (angenommen, dass res/xml/play_a_game_trigger.xml
einen Sprachauslöser für die Zeichenfolge "Spiel spielen" darstellt):
würde Ihnen einen Sprachmenüfluss geben, der aussieht wie
%Vor%Beachten Sie jedoch, dass dieses Menü auch Aktivitäten / Dienste von anderen APKs enthält, die ebenfalls denselben Stimmauslöser verwenden.
Weitere Informationen finden Sie auf der Seite Voice Input der GDK-Dokumentation. "
Fragen Sie, ob Sie Glass einen Sprachbefehl hinzufügen können, der Ihre App auslöst? Wenn ja - absolut. Dies ist in der Tat der empfohlene Weg, um eine App auf dem GDK zu starten.
Siehe Ссылка für die Details, aber im Grunde werden Sie
res/values/strings.xml
hinzu, die den Trigger und die Eingabeaufforderung beschreiben res/xml/<my_voice_trigger>.xml
, die den Zeichenfolgenwert als Schlüsselwort verwendet und die Eingabeaufforderung (Nebenbei bemerkt, es scheint, dass Verben die besten Sprachauslöser sind, die verwendet werden können - sie fließen natürlicher mit dem Menüeintrag "ok, Glas".)
Nun kannst du mit framework apis ein gutes Glasmenü auf deiner Aktivität zeigen, Überprüfen Sie diese Dokumentation über kontextabhängige Sprachbefehle
Tags und Links android google-glass google-gdk voice-recognition