2011-08-20 7 views
13

Android 서비스로 볼륨 변경을 수신하고 이에 대응할 수있는 방법이 있습니까?볼륨 변경 리스너?

Btw : 음악이 백그라운드에서 재생되는 경우에도 Google 뮤직 앱을 사용하여 미디어 볼륨을 어떻게 제어 할 수 있습니까?

답변

12

체크 아웃 registerMediaButtonEventReceiver(ComponentName broadcastReceiver);

ACTION_MEDIA_BUTTON를 처리하는 BroadcastReceiver 정의합니다. 수신 된 intent에는 브로드 캐스트를 야기한 키 이벤트가 포함 된 단일 추가 필드 EXTRA_KEY_EVENT이 포함됩니다. 이 키 이벤트를 사용하여 눌려진 키를 가져올 수 있습니다.


편집 :
이것은 단지 예제 코드 일뿐입니다. 구문 오류가있을 수 있습니다. onPause() 또는 onStop()

+0

의 수신기 등록 취소

// 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 ....... } } 

당신은하시기 바랍니다의 예를 들어 주실 수 있습니까? – kevdliu

+0

샘플 코드를 추가했습니다. 그러나 구문 오류가 있습니다. 또한 동작 키를 확인하거나 키를 눌러야합니다. 처음에는 좋았지 만 나중에 추가하십시오. – Ronnie

+0

또한 수신기 등록을 취소하지 않으면 미디어 버튼 이벤트를 사용하는 다른 응용 프로그램이 영향을받을 수 있습니다. – Ronnie