我正在尝试在我的Android应用程序中加入启动语音触发器。另一篇文章Why is my voice command missing from the ok glass menu in XE16?对我开始非常有帮助。
有一组有限的预定义语音命令。但是,大多数应用都有一个唯一的应用名称。预定义命令列表不可能满足每个应用程序。例如,如果我正在处理一个名为" Very Angry Birds,"我无法向Google小组提交添加此语音触发器的请求。是否存在可以合并以帮助启动特定应用程序的通用触发器?问候。
答案 0 :(得分:2)
Glass对用户交互采取略微不同的方法。而不是考虑推出什么应用程序?"它侧重于"用户想要做什么动作?"与意图类似,如果没有为语音命令注册其他应用程序,它会将命令指向一个注册的应用程序。如果注册了多个,Glass将提示您使用哪个应用程序来完成命令。
使用你的例子,有人可以说" Ok Glass,玩游戏,非常愤怒的小鸟"。
可用语音命令列表位于https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/app/VoiceTriggers.Command。如果您认为其他命令有用,请查看https://developers.google.com/glass/distribute/voice-checklist处的核对清单并在https://developers.google.com/glass/distribute/voice-form
处请求命令答案 1 :(得分:2)
囚犯是正确的,但如果你不小心的话,有一些实施细节会让你失望。
如果你想玩[pig] gyback玩游戏,你可以将它添加到你的清单中,在你的主要活动或服务的意图内(如果使用真实卡):
<meta-data
android:name="com.google.android.glass.VoiceTrigger"
android:resource="@xml/voice_trigger_start" />
在voice_trigger_start.xml中输入:
<?xml version="1.0" encoding="utf-8"?>
<trigger command="PLAY_A_GAME" />
如果您在开发模式下从自定义触发器启动时应该使用关键字而不是命令,则此技术将无效!
另请注意,PLAY_A_GAME不会显示,它实际上将是&#34;用...播放游戏&#34;。这说明了囚犯所说的Glass对于用户应该如何考虑与Glass进行交互的不同比喻。请参阅我的帖子脚本,了解这一点。
最后确保您的应用名称很好。通常,它存储在strings.xml中,如下所示。无论您的应用名称是什么,都会在启动器进程中显示。
<string name="app_name">Very Angry Birds</string>
在Glass home screeen,用户会说&#34; ok glass,玩游戏,Very Angry Birds&#34;。
我测试了这个,这就是结果:
最后一件事,如果你是唯一的#34;游戏&#34;在城里,换句话说,如果你是唯一安装了PLAY_A_GAME命令的应用程序,那么现在发射非常愤怒的小鸟的方式是#34;玩游戏&#34;,没有更多&#34;用... 。&#34;,当命令只有一个应用程序时,它会被隐藏。因此,如果您是城里唯一的游戏,请确保您拥有标题屏幕,以便用户知道他刚推出的内容。