Смена громкости?

Есть ли способ прослушать изменения громкости с помощью службы Android и реагировать на это?

Кстати: как музыкальное приложение Google позволяет пользователю контролировать объем мультимедиа, даже когда музыка играет в фоновом режиме?

Solutions Collecting From Web of "Смена громкости?"

Проверьте 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 ....... } } 

onPause() получателя в onPause() или onStop()