你能拦截菜单上的长按吗?

Max*_*mus 1 android

我正在使用应该是非常简单的代码,但它只是不想工作.操作系统阻止拦截吗?

@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {


    if (keyCode == KeyEvent.KEYCODE_MENU) 
    {
    longOptionPress = true;
    openOptionsMenu();
        return true;
    }
    return super.onKeyLongPress(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)

Tho*_*mas 10

您必须startTracking()使用常规onKeyPress()方法调用事件:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_MENU) {
        event.startTracking();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)

另见我前一段时间提出并回答的问题.