ok glass不显示在上下文语音菜单-谷歌玻璃



这是我的代码

@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。

您使用任何主题吗?

在清单中,删除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"。

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

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

以下是来自Google的文档:上下文语音命令

在Service类中发布liveCard之前,您必须设置以下内容:

liveCard.setVoiceActionEnabled(true);

您的代码似乎是正确的:/

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

可能是这导致了这个问题。

最新更新