마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

백그라운드에서 볼륨키 이벤트 받는 방법이 있을까요?

0 추천

백그라운드 상태에서도 스마트폰 볼륨 키 조작 시 이벤트를 받을수 있는 방법이 있을까요..?

일단 지금까지 시도해본 방법은

 

* onKeyDown / DispatchKeyDown

 - 백그라운드 x

 

* BroadcastReceiver (ACTION_MEDIA_BUTTON) / registerMediaButtonEventReceiver

- 이어폰 버튼 이벤트는 받는거같은데 스마트폰 볼륨 버튼 조작시에는 동작을 안하는거같아요..

  메니페스트 등록도 해보고 registerReceiver로 동적으로 등록해서도 시도해봤어요

 

 

* BroadcastReceiver (VOLUME_CHANGED) / ContentObserver

- 볼륨 변경 시에는 백그라운드 상태에서도 동작을 하지만 볼륨이 min/max값일때는 이벤트 발생을 안하는거같아요..

 

 

* MediaSessionCompat / VolumeProviderCompat

- 이게 그나마 가장 희망을 걸었던건데.. 음악앱을 포그라운드 재생할때는 오디오 포커스때문인지 키 이벤트 감지를 못하더라구요.

 덤으로 이어폰 버튼 이벤트도 씹히는거같고..

 

시중에 나온 앱을 보니까 음악 재생중에 볼륨 버튼누르면 다음 트랙으로 넘어가게 해주는 앱이 있는걸 봐서는 방법이 있는거같긴한데.. 어떻게 해야할지 너무 답답하네요.. 제발 도와주세요 ㅜㅜ

만약 제가 위의 시도해본 방법중에서도 가능하다면 자세히좀 설명해주시면 감사하겠습니다..

  

dragon89 (120 포인트) 님이 2018년 2월 22일 질문

1개의 답변

0 추천

코딩에서 손을 뗀지 오래되서 정확하지는 않지만

 

broadcast receiver 를 등록해서 Event를 받을 수 있었던 것으로 기억합니다.

익명사용자 님이 2018년 2월 22일 답변
...