2

I used to create one voice trigger that prompts user to speak additional commands before starting my Activity or Service, like:

ok glass
+-David
++-find me a parking lot
++-show me stock chart

in XE17 or early version(XE16.2), either using voice command or tap on "ok glass" menu will shows a list(vertical list with voice) or a list of command cards (horizontal menu), but in XE17.1 update, when I tap on 'ok glass', it just hangs and no menu cards shows up, only ok glass launcher, no other default voice triggers cards, after a short debug, I found it's the same voice trigger

"android:resource="@xml/voice_trigger"

declare in AndroidMenifest.xml caused the issue, but voice command still works, could someone help? Thanks!

ps. and also, Im trying input prompt with two more prompt won't work.

<input prompt="@string/glass_voice_prompt"/>

MY CODE (GDK API19, rev.5)

<> AndroidManifest.xml

<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT"/>
<activity
  android:name=".PromptActivity"
  android:label="@string/app_name"
  android:theme="@style/MenuTheme"
  android:icon="@drawable/ic"
  android:enabled="true" />
<activity-alias
  android:name="find me a parking lot"
  android:label="find me a parking lot"
  android:targetActivity=".PromptActivity"
  android:icon="@drawable/hippo_icon" >
  <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/hippo_voice_trigger_david" />  <!---HERE IS THE PROBLEM(two same voice trigger won't allow any more->
</activity-alias>
<activity-alias
  android:name="show me stock chart"
  android:label="show me stock chart"
  android:targetActivity=".PromptActivity"
  android:icon="@drawable/hippo_icon" >
  <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/hippo_voice_trigger_david" /> <!---HERE IS THE PROBLEM->
</activity-alias>

<> hippo_voice_trigger_david.xml

<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/glass_voice_david_prompt">
<constraints network="true" camera="true" />
</trigger>

<> res/values/strings.xml

<string name="glass_voice_david_prompt">David</string>

<> Here is the LogCat Exception:

FATAL EXCEPTION: main
Process: com.google.glass.home, PID: 5738
java.lang.NullPointerException
at com.google.glass.home.voice.TouchMainMenuActivity.onCreateOptionsMenu(TouchMainMenuActivity.java:122)
at android.app.Activity.onCreatePanelMenu(Activity.java:2543)
at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:439)
at com.android.internal.policy.impl.PhoneWindow.openPanel(PhoneWindow.java:602)
at com.android.internal.policy.impl.PhoneWindow.openPanel(PhoneWindow.java:555)
at android.app.Activity.openOptionsMenu(Activity.java:2878)
at com.google.glass.app.GlassVoiceActivity.openOptionsMenu(GlassVoiceActivity.java:456)
at com.google.glass.home.voice.TouchMainMenuActivity.onAttachedToWindow(TouchMainMenuActivity.java:93)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onAttachedToWindow(PhoneWindow.java:2793)
at android.view.View.dispatchAttachedToWindow(View.java:12592)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2458)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1242)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1025)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5699)
David Lanz
  • 46
  • 3

0 Answers0