Pregunta

I had a Glassware that launched using a voice command on the ok glass menu. It worked great in XE12, but in XE16 it does not show up in the main menu.

Here's a snippet from my AndroidManifest.xml showing my voice command configuration:

<service
    android:name="com.mimming.sugarglider.MapDisplayService"
    android:label="@string/app_name"
    android:enabled="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/show_map" />
</service>

And here's the contents of show_map.xml, which defines my voice command:

<trigger keyword="@string/show_me_a_map">
    <constraints network="true" />
</trigger>

What's wrong?

¿Fue útil?

Solución

Answering my own question, since this seems to be impacting a lot of developers.

Voice commands changed a bit in XE16. Unlisted voice commands, like the one specified in your configuration, now require an additional permission. Add this to your manifest:

<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />

When you're ready to release your Glassware, you must use a built-in static voice command. XML for this kind of command would look more like this:

<?xml version="1.0" encoding="utf-8"?>
<trigger command="START_A_RUN" />

Where START_A_RUN is one of the items from this list. If none of the listed commands are appropriate for your Glassware, you should request the addition of a voice command. This can take some time, so it's best to do this as early as possible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top