首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >玻璃XE17.1 -自定义语音命令中断?

玻璃XE17.1 -自定义语音命令中断?
EN

Stack Overflow用户
提问于 2014-05-15 17:49:35
回答 2查看 433关注 0票数 1

我已经遵循了官方文档中的确切步骤,但我仍然无法让我的应用程序开始使用自定义语音命令。具体步骤如下:

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文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/glass_voice_trigger" />

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

代码语言:javascript
复制
<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />

4清单部分如下所示:

代码语言:javascript
复制
<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>

尽管如此,我仍然无法使用语音命令启动应用程序。如果我切换到其中一个预定义的语音命令,应用程序将显示在时间线上,我可以使用语音命令启动它。我错过什么了吗?

EN

回答 2

Stack Overflow用户

发布于 2014-05-16 00:19:21

看了看这个问题,我没有发现任何错误的地方。因此,我创建了一个使用自定义语音命令启动的small sample GDK project,它在我的XE17.1设备上运行良好。(额外的好处是,它演示了一个低频LiveCard!)

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

代码语言:javascript
复制
'OK Glass, start my awesome app'

下面是一些相关的比特。

AndroidManifest.xml:

代码语言:javascript
复制
    <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:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/custom_keyword" />

res/values/strings.xml:

代码语言:javascript
复制
<?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的链接,它仍然提供了使用自定义语音命令的说明。而且,从我的测试来看,它们仍然可以工作。

票数 6
EN

Stack Overflow用户

发布于 2014-05-15 19:16:07

自几个版本之前,自定义语音命令就需要得到谷歌的批准。您可以从glass developer站点发送该批准的请求。

查看this

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23674755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档