Glass XE17.1 - 自定义语音命令坏了吗?

jac*_*usz 1 voice-recognition google-glass google-gdk

我已经按照官方文档中的确切步骤进行操作,但仍然无法让我的应用程序开始使用自定义语音命令.遵循的步骤是:

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" />
Run Code Online (Sandbox Code Playgroud)

3在AndroidManifest.xml中请求适当的权限:

<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

不过,我无法使用语音命令启动应用程序.如果我更改为其中一个预定义的语音命令,应用程序会显示在时间轴上,我可以使用语音命令启动它.我错过了什么吗?

emi*_*001 6

透过这个问题,我没有看到任何突然出现的错误信息.因此,我创建了一个使用自定义语音命令启动的小样本GDK项目,并在我的XE17.1设备上运行正常.(奖励,它演示了一个低频LiveCard!)

尝试从GitHub下拉我的示例,看看是否可以使用以下命令启动它:

'OK Glass, start my awesome app'
Run Code Online (Sandbox Code Playgroud)

以下是一些相关的部分.

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>
Run Code Online (Sandbox Code Playgroud)

RES/XML/voice_trigger.xml:

<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/custom_keyword" />
Run Code Online (Sandbox Code Playgroud)

RES /值/ 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>
Run Code Online (Sandbox Code Playgroud)

这是语音命令文档的链接,它仍提供有关使用自定义语音命令的说明.而且,从我的测试来看,他们仍然可以工作.