有没有办法通过Android服务监听音量变化并对此作出反应?
顺便说一句:即使音乐在后台播放,Google音乐应用如何让用户控制媒体音量?
答案 0 :(得分:12)
查看registerMediaButtonEventReceiver(ComponentName broadcastReceiver);
定义处理BroadcastReceiver
的{{1}}。收到的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 .......
}
}
或onPause()