只是想知道是否有人可以告訴我如何捕捉在Android的音量下鍵的長按鍵。如何在android中捕獲長按音量降低鍵?
闡述問題:
我想創造一個廣播接收器將接收卷長按鍵事件。 (沒有任何UI交互)。我知道這是可能的搜索按鈕。是否可用於音量鍵?
感謝
只是想知道是否有人可以告訴我如何捕捉在Android的音量下鍵的長按鍵。如何在android中捕獲長按音量降低鍵?
闡述問題:
我想創造一個廣播接收器將接收卷長按鍵事件。 (沒有任何UI交互)。我知道這是可能的搜索按鈕。是否可用於音量鍵?
感謝
可能是下面的代碼將幫助您:
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
// to your stuff here
return true;
}
return super.onKeyLongPress(keyCode, event);
}
謝謝,是否有可能將KEYCODE_VOLUME_DOWN放入BroadcastReceiver?像<接收機機器人: 「MyReceiver 」名稱=> <意圖濾波器> <操作機器人:名稱=「 VOLUME長按HERE」/> 意圖濾波器> – kakopappa 2011-03-11 06:37:52
我不認爲如果那是可能的 – ingsaurabh 2011-03-11 06:45:06
嗨,我不知道什麼是你的要求,但你可以做的是使用上面,當你在任何活動中的事件,你可以創建一個自定義廣播音量鍵長期按下,並使用BL中的那個 – ingsaurabh 2011-03-14 07:01:25
我認爲這在理論上是可能實現音量按鈕的長按鍵的捕捉,但不明智的。該過程將涉及覆蓋onKeyLongPress()方法。
至於爲什麼它是不明智的:Volume Control in android application和How can I manage audio volumes sanely in my Android app?
它之前已經基本上討論,按鍵則有,不應該覆蓋默認行爲,因爲它有可能「破音量鍵的行爲」。
請注意,要處理onKeyLongPress(),您應該跟蹤事件onKeyDown()。並覆蓋它們。 請注意以下例子。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
if(keyCode==KeyEvent.KEYCODE_VOLUME_UP){
event.startTracking();
return true;
}
return super.onKeyDown(keyCode,event);
}
@Override
public boolean onKeyLongPress(int keyCode,KeyEvent event){
if(keyCode==KeyEvent.KEYCODE_VOLUME_UP){
//Do your stuff here
return true;
}
return onKeyLongPress(keyCode,event);
}
另請注意,onKeyDown默認返回false。所以通過觸發onKeyDown(),音量不會增加。
嘗試使用此命令
亞行外殼輸入KeyEvent的--longpress KEYCODE_VOLUME_DOWN
細說更多信息,請。 – Sandy 2011-03-11 06:24:16
我想創建一個BroadcastReceiver,它將接收音量長按鍵事件。 (沒有任何UI交互)。我知道這是可能的搜索按鈕。是否可用於音量鍵? - 謝謝 – kakopappa 2011-03-11 06:35:09