2015-02-10 5 views
0

Как создать динамическое подменю для Google Glass в коде? Я хочу выбрать пользователя с голосовыми командами типа «Выбрать пользователя» -> «Бен». Пользовательские данные загружаются из БД, поэтому меню XML невозможно. Этот пример работает для навигации с сенсорное:Как создать подменю программно для Google Glass GDK?

@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); 
} 

Но стекло не распознает голосовые команды. Я надеюсь, что кто-нибудь знает решение и как я могу поймать результат? Потому что следующий список не работает для этого решения.

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

большое спасибо за любое решение!

ответ

0

Это работает отлично, если я поставил аналогичный код в onCreatePanelMenu(). Поскольку вы используете unlisted voice commands, включили ли вы следующее разрешение в манифест?

<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT"/> 
Смежные вопросы