我已经遵循了官方文档中的确切步骤,但我仍然无法让我的应用程序开始使用自定义语音命令。具体步骤如下:
1.在strings.xml中为自定义语音命令添加新的字符串资源:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Hello World!</string> <string name="glass_voice_trigger">start example</string> </resources>
2为语音启动定义创建一个新的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/glass_voice_trigger" />3在AndroidManifest.xml中请求适当的权限:
<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />4清单部分如下所示:
<service
android:name="pl.infoshare.sample.helloworld.HelloWorldService"
android:icon="@drawable/ic_lap"
android:label="@string/app_name"
android:enabled="true"
android:exported="true">
<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" />
</service>尽管如此,我仍然无法使用语音命令启动应用程序。如果我切换到其中一个预定义的语音命令,应用程序将显示在时间线上,我可以使用语音命令启动它。我错过什么了吗?
发布于 2014-05-16 00:19:21
看了看这个问题,我没有发现任何错误的地方。因此,我创建了一个使用自定义语音命令启动的small sample GDK project,它在我的XE17.1设备上运行良好。(额外的好处是,它演示了一个低频LiveCard!)
尝试从GitHub下载我的示例,看看是否可以使用以下命令启动它:
'OK Glass, start my awesome app'下面是一些相关的比特。
AndroidManifest.xml:
<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.DeviceDefault">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:immersive="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<service
android:name=".LowFreqLiveCardService"
android:enabled="true"
android:exported="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<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"/>
</service>
</application>
</manifest>res/xml/voice_rigger.xml:
<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/custom_keyword" />res/values/strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Low Freq Demo</string>
<string name="heart_rate">Heart Rate</string>
<string name="custom_keyword">start my awesome app</string>
</resources>这里有一个指向voice command documentation的链接,它仍然提供了使用自定义语音命令的说明。而且,从我的测试来看,它们仍然可以工作。
发布于 2014-05-15 19:16:07
自几个版本之前,自定义语音命令就需要得到谷歌的批准。您可以从glass developer站点发送该批准的请求。
查看this。
https://stackoverflow.com/questions/23674755
复制相似问题