Intercepter les touches de volumes

Si vous souhaitez changer le comportement des touches de volumes de votre téléphone android. Vous pouvez implémenter les méthodes onKeyDown et onKeyUp dans votre activité.

Il faut surcharger les deux méthodes. onKeyDown empêchera le changement de volume et onKeyUp empêchera les sons de notifications de changement du volume.

Le return true dans ces deux méthodes permet de dire que vous avez intercepté l’événement.

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
   if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
       return true;
   }
   if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
       return true;
    }
   return super.onKeyDown(keyCode, event);
}

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
   if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
       return true;
   }
   if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
       return true;
   }
   return super.onKeyUp(keyCode, event);
}