2014-04-07 61 views
1

我擁有SmartMouse android應用程序的源代碼。 我想通過屏幕上的按鈕來改變音量鍵的功能。 我有C編程的基礎知識,但不知道java。 我應該在代碼中搜索哪個部分?更改Android應用程序中的音量按鍵功能

這可能是一個蹩腳的問題,但我非常需要這個。

回答

3

你必須捕獲事件作爲mentionned這裏:Android - Volume Buttons used in my application

@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 
int action = event.getAction(); 
int keyCode = event.getKeyCode(); 
    switch (keyCode) { 
    case KeyEvent.KEYCODE_VOLUME_UP: 
     if (action == KeyEvent.ACTION_UP) { 
      //TODO 
     } 
     return true; 
    case KeyEvent.KEYCODE_VOLUME_DOWN: 
     if (action == KeyEvent.ACTION_DOWN) { 
      //TODO 
     } 
     return true; 
    default: 
     return super.dispatchKeyEvent(event); 
    } 
} 

dispatchKeyEvent不僅呼籲音量鍵,它會捕捉所有的關鍵事件,所以你必須:

  • 獲取事件代碼
  • 檢查您是否在尋找
  • 根據事件做你想做的事情:)

的關鍵是dispatchKeyEvent由系統中任何其他方法之前調用,這樣你就可以截獲該事件

+0

'diapatchKeyEvent'是音量鍵? – user3506179

+0

我編輯了我的答案,見上面:) –

+0

@PlumillonForge如何在任何其他方法之前調用它有助於攔截事件。 –

相關問題