的Android文档介绍了如何禁用搜索活动中的搜索功能:) 公共布尔onSearchRequested({ 返回FALSE; }Android的 - 如何禁用搜索按钮长按(歌Nexus One)
这适用于短按Nexus One上的搜索按钮。 但是,它不禁用长按,它仍然会触发语音搜索。
如何禁用长按语音搜索?
谢谢...如下所示
的Android文档介绍了如何禁用搜索活动中的搜索功能:) 公共布尔onSearchRequested({ 返回FALSE; }Android的 - 如何禁用搜索按钮长按(歌Nexus One)
这适用于短按Nexus One上的搜索按钮。 但是,它不禁用长按,它仍然会触发语音搜索。
如何禁用长按语音搜索?
谢谢...如下所示
它似乎并不像一个非常好的事情做用户,但onkeydown事件可以用来禁用踢踏舞及活动中的长按搜索:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_SEARCH) {
return true;
}
return super.onKeyDown(keyCode, event);
}
我扩展了斯坦的答案,只禁用长按事件。
@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);
}
在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);
}
@Styler,经常'(标志和面罩)'本身就足以满足一个''&& - 为什么'(旗&掩码)==掩码在你最近的(仍在等待的)编辑中是必要的吗? FLAG_LONG_PRESS是一个多位掩码,其中一个或多个底层位可能打开? – sarnold 2011-10-03 23:07:49
@sarnold它没有编译我,直到我真的这样做'if(keyCode == KeyEvent.KEYCODE_SEARCH &&(event.getFlags()&KeyEvent.FLAG_LONG_PRESS)== KeyEvent.FLAG_LONG_PRESS)' – styler1972 2011-10-03 23:26:05
我的理解是,它是必要的在Java中,因为'flags&MASK'是一个int/long,'&&'需要一个布尔值。但是,最好使用'(flags&FLAG_FOO)!= 0',这对拼写错误更有弹性(需要多长时间注意'(flags&FLAG_FOO)== FLAG_BAR'总是假?)。 – 2011-10-03 23:34:03