语音命令无法在我的玻璃应用上运行

时间:2014-07-30 13:16:43

标签: android xml google-glass

我的清单文件如下

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.demo.myglassapp"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="19"
        android:targetSdkVersion="19" />

    <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="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>



    <service
            android:name="com.demo.myglassapp.MainActivity"
            android:icon="@drawable/ic_launcher"
            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>

    </application>

</manifest>

语音触发开始文件

<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/its_demo" />

我的strings.xml文件

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">myglassapp</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <string name="its_demo">Hello Sir</string>

</resources>

据我所知,我添加了一个代码块

<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />
清单文件中的

。我创建了一个语音触发器文件并在其中设置了一个变量。

现在我从strings.xml文件调用该变量。

所以,基本上这一切都是正确的,但我没有看到&#34; Hello Sir&#34;添加到我的OK GLASS菜单中。

当我从Eclipse IDE运行我的应用程序时,在OK GLASS菜单选项后我看不到我的菜单。 相反,当我们将它设置为调试模式时,我看到我的应用程序直接在Android手机中运行。

知道为什么它不起作用吗?

3 个答案:

答案 0 :(得分:1)

我同意妮可。也许如果你移动一些东西它可能会工作。但是,这很大程度上取决于您如何构建应用程序。例如,在我的情况下,语音触发器意图是为我的活动定义的,而不是我的服务(类似于Nicole的情况)。但是,我已经看到了触发器在服务上的一些示例。您可以通过在Eclipse中创建示例Android项目来检查这些示例。

现在,您的应用程序在与移动设备类似地运行后打开的原因是因为您的清单上有此应用程序

       <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

如果你不想要那种行为,你应该删除它

答案 1 :(得分:0)

在您的玻璃杯中,您说出您的应用程序名称,它将显示应用程序列表 试试这个希望这会有所帮助

答案 2 :(得分:0)

我是玻璃器皿开发的新手......但是也许可以尝试在清单中的应用程序标签内移动一些东西(而不是服务标签......我根本没有服务标签)。这是我的清单文件的示例,它可以从开始菜单中使用语音识别...

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

                  <meta-data
            android:name="com.google.android.glass.VoiceTrigger"
            android:resource="@xml/voice_trigger_start" />


    </activity>
</application>`