Volume change listener?

前端 未结 1 773
星月不相逢
星月不相逢 2020-12-03 11:30

Is there any way to listen for volume changes with an Android service and react to that?

Btw: How does the Google music app allow the user to control the media volum

相关标签:
1条回答
  • 2020-12-03 12:20

    Check out registerMediaButtonEventReceiver(ComponentName broadcastReceiver);

    Define a BroadcastReceiver that handles ACTION_MEDIA_BUTTON. The recieved intent includes a single extra field, EXTRA_KEY_EVENT, containing the key event that caused the broadcast. You can use this key event to get which key was pressed.


    EDIT:
    This is just a sample code. syntax errors may be there.

    // in onCreate of activity
    registerMediaButtonEventReceiver(mediaReceiver ); 
    
    // later somewhere in activity.
    MediaButton_Receiver mediaReceiver = new MediaButton_Receiver();
    
    class MediaButton_Receiver implements BroadcastReceiver {
         void onReceive(Intent intent) {
    
              KeyEvent ke = (KeyEvent)intent.getExtra(Intent.EXTRA_KEY_EVENT); 
              if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) {
    
              }
              // Similarly other key codes .......
         } 
    }
    

    Unregister the receiver in onPause() or onStop()

    0 讨论(0)
提交回复
热议问题