【问题标题】:How to create a submenu programmatically for Google Glass GDK?如何以编程方式为 Google Glass GDK 创建子菜单?
【发布时间】:2015-02-10 21:09:11
【问题描述】:

如何在代码中为 Google Glass 动态创建子菜单?我想用“选择用户”->“本”之类的语音命令选择一个用户。用户数据是从数据库加载的,因此无法使用 XML 菜单。 此示例适用于滑动手势导航:

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    menu.clear(); 
    SubMenu sbm = menu.addSubMenu(Menu.NONE, 1, menu.NONE, "Select User");
    sbm.add(Menu.NONE, 2, menu.NONE, "Ben");
    sbm.add(Menu.NONE, 3, menu.NONE, "Ted");
    return super.onPrepareOptionsMenu(menu);
}

现在我想在语音命令中使用相同的:

@Override
public boolean onPreparePanel(int featureId, View view, Menu menu) {
    menu.clear(); 
    SubMenu sbm = menu.addSubMenu(Menu.NONE, 1, menu.NONE, "Select User");
    sbm.add(Menu.NONE, 2, menu.NONE, "Ben");
    sbm.add(Menu.NONE, 3, menu.NONE, "Ted");
    return super.onPreparePanel(featureId, view, menu);
}

但 Glass 无法识别语音命令。我希望任何人都知道一个解决方案,我怎样才能得到结果?因为以下清单不适用于此解决方案。

@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
    if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS || featureId == Window.FEATURE_OPTIONS_PANEL) {
        switch (item.getItemId()) {
        case 1:
        ...

非常感谢任何解决方案!

【问题讨论】:

    标签: java android google-glass submenu voice-recognition


    【解决方案1】:

    如果我将类似的代码放在onCreatePanelMenu() 中,这会很好。由于您使用的是unlisted voice commands,您是否在清单中包含以下权限?

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

    【讨论】:

      猜你喜欢
      • 2011-09-21
      • 2018-04-19
      • 1970-01-01
      • 2011-11-11
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      相关资源
      最近更新 更多