0

我正在尝试收听搜索键,我在 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 上的搜索键?

4

1 回答 1

1

试试这个 :

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        Toast.makeText(getApplicationContext(), "Fired", Toast.LENGTH_LONG).show();
        if (keyCode == KeyEvent.KEYCODE_SEARCH) {
            Toast.makeText(getApplicationContext(), "Search Key Fired", Toast.LENGTH_LONG).show();
            return true;
        }
        return super.onKeyDown(keyCode, event);
     }

或者 :

    @Override
    public boolean onSearchRequested() {
        Toast.makeText(getApplicationContext(), "onSearchRequested", Toast.LENGTH_LONG).show();
        return false;
    }

笔记 :

如果您的设备确实使用最新最好的操作系统,请继续点击该 Google 搜索栏,您会看到“立即获取 Google!” 屏幕(图 A)。此时,您可以选择启用 Google Now 或稍后关闭该功能。您还可以点按“了解更多”以了解 Google 即时提供的内容。

参考 :

Android Jelly Bean 上的 Google Now 不仅仅是一种搜索功能

谢谢

于 2013-01-23T18:52:47.060 回答