Android - 如何禁用长按“搜索”按钮(Nexus One)

时间:2010-02-06 22:36:09

标签: android search

Android文档介绍了如何在“活动”中禁用搜索搜索功能: public boolean onSearchRequested(){     返回false;  }

这适用于短按Nexus One上的搜索按钮。 但是,它不会禁用长按,这仍会触发语音搜索。

如何禁用长按语音搜索?

...谢谢

3 个答案:

答案 0 :(得分:6)

我将Stan的答案扩展为仅禁用长按事件。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_SEARCH
        && (event.getFlags() & KeyEvent.FLAG_LONG_PRESS) == KeyEvent.FLAG_LONG_PRESS) {
        return true;
    }

    return super.onKeyDown(keyCode, event);
}

答案 1 :(得分:1)

对用户来说这似乎不是一件好事,但onKeyDown可以用来禁用活动中的点击和长按搜索,如下所示:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_SEARCH) {
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

答案 2 :(得分:1)

在Android 2.0中,您可以这样做:

@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_CALL) {
        // todo your code here
        return true;
    }
    return super.onKeyLongPress(keyCode, event);
}