音量变化听众?

kev*_*liu 13 media service android volume broadcastreceiver

有没有办法用Android服务监听音量变化并对此作出反应?

顺便说一句:即使音乐在后台播放,Google音乐应用程序如何允许用户控制媒体音量?

Ron*_*nie 12

查看 registerMediaButtonEventReceiver(ComponentName broadcastReceiver);

定义一个BroadcastReceiver句柄ACTION_MEDIA_BUTTON.收到的intent内容包括一个额外字段,EXTRA_KEY_EVENT其中包含导致广播的关键事件.您可以使用此键事件来获取按下的键.


编辑:
这只是一个示例代码.可能存在语法错误.

// 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 .......
     } 
}
Run Code Online (Sandbox Code Playgroud)

取消注册接收器onPause()onStop()