Android - Volume Buttons used in my application

android

Solution

You need to capture all actions:

@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_DOWN) {
                //TODO
            }
            return true;
        case KeyEvent.KEYCODE_VOLUME_DOWN:
            if (action == KeyEvent.ACTION_DOWN) {
                //TODO
            }
            return true;
        default:
            return super.dispatchKeyEvent(event);
        }
    }

Problem

I need to use volume buttons to control a variable parameter in my application. I use `Activity.onKeyDown` to get notified when the button is pressed but the media volume is also increased. Android is doing something like below when I press the volume key: - increase media / ringtone volume - pass the event to my application Is there a way to avoid increasing the system volume and use volume key only for my application?

Original source