有没有办法在Android服务中监听音量变化并对其做出反应?
顺便问一下:Google音乐应用程序是如何让用户在音乐在后台播放时控制媒体音量的呢?
有没有办法在Android服务中监听音量变化并对其做出反应?
顺便问一下:Google音乐应用程序是如何让用户在音乐在后台播放时控制媒体音量的呢?
请查看registerMediaButtonEventReceiver(ComponentName broadcastReceiver);
定义一个BroadcastReceiver
来处理ACTION_MEDIA_BUTTON
。接收到的意图包含一个额外的字段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()
或 onStop()
中取消注册广播接收器。