【发布时间】:2013-01-23 18:48:55
【问题描述】:
我正在尝试监听搜索键,我在 stackoverflow 上找到了两个解决方案,但由于某种原因,它们都不能与搜索按钮一起使用。
@Override
public boolean onSearchRequested() {
System.out.println("KEYDOWN");
return true;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
System.out.println("KEYDOWN");
return true;
}
如您所见,第一个选项只是搜索意图,第二个选项应该捕获所有按键,无论按键,onKeyDown 对我的 Nexus S 中的所有键(返回、菜单和音量键)都正常工作,但只是简单没有抓住搜索键。人们似乎很确定这些选项中的任何一个都应该工作,甚至在建议 onSearchRequested 的地方得到批准,但我已经在两部手机中尝试过,但它们都不起作用。
如何在 android 上捕获和禁用搜索键?
【问题讨论】:
-
尝试发布的解决方案。这会对你有所帮助。
-
您可以尝试将您的日志添加到
dispatchKeyEvent。以防万一某些视图在途中捕获搜索键。 -
@Liso22 我认为来自 Jellybean 及以上的硬件搜索按钮已被 Google Now 拦截 - 因此您必须使用屏幕上的搜索按钮实现一个简单的解决方案。