[英]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.