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?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With