如何在代码中动态创建Google Glass的子菜单?我想选择具有语音命令的用户,例如“选择用户” - > “奔”。用户数据是从DB加载的,因此无法使用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);
}
但格拉斯不承认语音命令。我希望有人知道解决方案,我怎样才能得到结果?因为以下列表不适用于此解决方案。
@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 :(得分:0)
如果我在onCreatePanelMenu()
中添加类似的代码,这样可以正常工作。由于您使用的是unlisted voice commands,您是否在清单中包含以下权限?
<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT"/>