2012-07-12 1 views
8

Android Jelly Bean은 헤드셋의 재생/일시 중지 버튼을 길게 누르면 활성화되는 음성 검색 기능을 도입했습니다. 내 앱에서 이러한 긴 누름을 활용할 수 있어야하므로 음성 검색을 사용 중지하거나 Android에서 버튼 이벤트로 공정하게 진행할 수있는 방법이 있는지 궁금합니다.Jelly Bean의 음성 검색 전 헤드셋 버튼 처리

답변

1

본인 스스로 시도하지는 않았지만 볼륨 버튼이 미디어 버튼이기 때문에 AudioManager의 registerMediaButtonEventReceiver 메소드를 사용하여이 기능을 사용할 수 있습니다.

AOSP 뮤직 앱은 볼륨 버튼 누름에 응답하는 MediaButtonIntentReceiver이 있습니다.

이 솔루션에 대한 크레딧은 this answer에 속합니다.

+0

저는 두렵습니다. Android 4.0+에서 모든 미디어 버튼 수신기는 'registerMediaButtonEventReceiver'를 사용하여 버튼 클릭을 수신해야합니다. 이 부분은 여전히 ​​작동하지만 안타깝게도 Android가 음성 검색을 처리하기 전에 타사 앱에 의도를 제공하지 않습니다. – tvkanters

+0

프레시 앱은 헤드셋 버튼을 길게 누를 수 있습니다 (롤리팝에서도 가능). Pressy는 '이동'버튼을 사용하여 특정 인터페이스를 가지고 있으며, 의도적으로 일부 의도를 발생시키고 시스템이 Pressy 또는 Google 검색을 기본값으로 설정할지 묻는 메시지를 표시합니다. 나는 그것이 그것을 달성하는 방법을 알고 싶다. –

관련 문제