Два способа сделать это:
Activity.getWindow().openPanel(Window.FEATURE_OPTIONS_PANEL, event);
Аргумент event
- это KeyEvent
, описывающий клавишу, используемую для открытия меню, которая может изменить способ отображения меню в зависимости от типаклавиатура это пришло.
Или ..., симулируя, что пользователь нажал кнопку:
IWindowManager wManager = IWindowManager.Stub.asInterface(ServiceManager.getService("window"));
KeyEvent kd = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_SOFT_LEFT);
KeyEvent ku = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_SOFT_LEFT);
wManager.injectKeyEvent(kd.isDown(), kd.getKeyCode(), kd.getRepeatCount(), kd.getDownTime(), kd.getEventTime(), true);