我开发了一款在谷歌眼镜上运行的Android应用程序。我用adb运行它。是否可以配置一个语音命令,以便我可以通过说“Ok GLASS”+“My Command”来触发它?
答案 0 :(得分:7)
更新 - 在XE16更新后,以下方法不起作用,新解决方案在此Why is my voice command missing from the ok glass menu in XE16?
你要做的是,
在清单文件中,在您要在语音命令上触发的服务下添加这些标记。
<intent-filter>
<action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
</intent-filter>
<meta-data
android:name="com.google.android.glass.VoiceTrigger"
android:resource="@xml/voice_trigger_start" />
您必须在res中创建一个名为xml的文件夹,并添加一个名为voice_trigger_start.xml
的xml文件。
在里面添加这些行
<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/its_me_amalan" />
打开res
文件夹中的values文件夹并修改strings.xml
,这样看起来就像这样
<resources>
<string name="app_name">Amalan</string>
<string name="its_me_amalan">Hello Amalan</string>
<string name="stop">Stop</string>
</resources>
现在将应用程序安装到Glass上并说“ ok glass,Hello Amalan ”并打开应用程序。
参考:http://pathofacoder.com/2013/11/20/google-glass-adding-your-own-voice-commands-to-your-apps/
答案 1 :(得分:2)
昨天,Google发布了XE12固件更新,这让我们遇到了所有自定义启动器的问题。 Launcher2.apk和Launchy都停止了为我工作,所以作为一种解决方法我实现了一个方法,这也是你的问题的一个很好的答案。请查看此页面http://divingintoglass.blogspot.com/
答案 2 :(得分:0)
我为此次提交中使用GDK开发的Glassware应用程序执行了此操作: https://github.com/luisdelarosa/HelloGlass/commit/c5038ed2ff019306becb32211354358833b6fafc
以下是该提交的步骤:
修改AndroidManifest.xml以在要通过语音启动的活动或服务中添加VoiceTrigger意图。请注意,您也可以选择删除Launcher intent,因为Glass不使用传统的Android。
<intent-filter>
<action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
</intent-filter>
<meta-data
android:name="com.google.android.glass.VoiceTrigger"
android:resource="@xml/glass_voice_trigger" />
添加VoiceTrigger意图引用的VoiceTrigger XML,其中应包含您希望用户激活您的应用的字符串。在这种情况下,我们将其称为res / xml / glass_voice_trigger.xml
<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/glass_voice_trigger"/>
(可选)将上一步中的字符串放入strings.xml文件中。 (您也可以将该字符串硬编码到VoiceTrigger XML中作为触发节点的关键字属性的值。)在这种情况下,它位于res / values / strings.xml,我们的触发器是“打招呼”。将此字符串替换为您希望用户说出启动应用程序的任何内容。
<string name="glass_voice_trigger">say hello</string>
答案 3 :(得分:-1)
不要忘记自XE16以来使用许可:
<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />