在上下文语音菜单 - 谷歌眼镜中不显示ok glass

时间:2014-10-10 06:17:46

标签: android google-glass google-gdk

这是我的代码

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         getWindow().requestFeature(WindowUtils.FEATURE_VOICE_COMMANDS);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_sample);

    }
 @Override
        public boolean onCreatePanelMenu(int featureId, Menu menu) {
            if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS) {
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
            }
            // Pass through to super to setup touch menu.
            return super.onCreatePanelMenu(featureId, menu);
        }
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
        @Override
        public boolean onMenuItemSelected(int featureId, MenuItem item) {
            if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS) {
                switch (item.getItemId()) {
                    case R.id.dogs_menu_item:
                        // handle top-level dogs menu item
                        break;
                    default:
                        return true;
                }
                return true;
            }
            // Good practice to pass through to super if not handled
            return super.onMenuItemSelected(featureId, item);
        }

我正在尝试从我的活动启用上下文菜单。使用上面的代码" ok glass"应该显示在我活动的底部,但它没有显示。我使用的玻璃版本是21.3。

4 个答案:

答案 0 :(得分:4)

你使用任何主题吗?

在清单中,移除android:theme="@style/AppTheme"

例如,更改

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name">

更改为默认主题后,我猜您可能不需要requestWindowFeature(Window.FEATURE_NO_TITLE);,并且应该显示“ok glass”。

答案 1 :(得分:1)

您的代码似乎正确,但您是否尝试过实施菜单?

我不确定但是如果没有像onCreatePanelMenu这样的正确覆盖功能,则无法激活上下文语音命令。

以下是Google提供的文档:Contextual Voice command

答案 2 :(得分:1)

在服务类中发布liveCard之前,您必须设置:

liveCard.setVoiceActionEnabled(true);

答案 3 :(得分:1)

您的代码似乎正确:/

您是否尝试过使用Cards来构建Ui而不是使用setContentView(R.layout.activity_sample);

可能是造成这个问题的原因。