簡體   English   中英

Android - 如何禁用長按“搜索”按鈕(Nexus One)

[英]Android - how to disable long press on Search button (Nexus One)

Android文檔描述了如何在Activity中禁用搜索搜索功能:public boolean onSearchRequested(){return false; }

這可以很好地短按Nexus One上的搜索按鈕。 但是,它不會禁用長按,這仍會觸發語音搜索。

如何禁用長按語音搜索?

謝謝...

我將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);
}

對用戶來說這似乎不是一件好事,但onKeyDown可用於在Activity中禁用tap和long press搜索,如下所示:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_SEARCH) {
        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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM