2014-04-07 22 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如何在任何其他方法之前调用它有助于拦截事件。 –

相关问题