나는 헤드폰 버튼을 누른 다음 얼마나 많은 시간을 누르는가에 따라 다른 일을하는 프로그램을 작성 중이다. API 레벨 21로 이동합니다. Android 5.0. 그래서 버튼 누르기를 잡을 수는 있지만 mp3 플레이어를 시작하면 버튼 누르기가 시작됩니다. 어떻게 방지 할 수 있습니까? 둘째 질문 일시 중지 된 mp3 및 그 프로그램을 다시 시작합니까? 내 프로그램이 mp3를 재생하지 않습니다. 미디어 키 이벤트를 수신하기 위해헤드폰 버튼 컨트롤 안드로이드 5.0
audioSession = new MediaSession(getApplicationContext(), "TAG11");
MsCallback= new MediaSession.Callback() {
@Override
public boolean onMediaButtonEvent(final Intent mediaButtonIntent) {
String intentAction = mediaButtonIntent.getAction();
Log.i("onMediaButtonEvent", intentAction);
if (Intent.ACTION_MEDIA_BUTTON.equals(intentAction)) {
KeyEvent event = mediaButtonIntent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (event != null) {
if(toast!=null){
toast.cancel();
}
toast = Toast.makeText(getApplicationContext(), "headsetbutton press", Toast.LENGTH_SHORT);
toast.show();
}
}
return super.onMediaButtonEvent(mediaButtonIntent);
}
};
audioSession.setCallback(MsCallback);
PlaybackState state = new PlaybackState.Builder()
.setActions(PlaybackState.ACTION_PLAY_PAUSE)
.setState(PlaybackState.STATE_PLAYING, 0, 0, 0)
.build();
audioSession.setPlaybackState(state);
audioSession.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS | MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS);
audioSession.setActive(true);
아마도 다른 프로그램이 버튼에 리스너를 넣는 것을 차단할 수 없습니다. 새로운 청취자를 청취 한 다음 첨부하여 제거 할 수도 있지만 가능하면 가능하지는 않습니다. Idk는 버튼을 하이 잭킹하는 것이 좋습니다. 음악에 사용하는 사용자를 확인해보십시오. – Carcigenicate
답변을위한 Thx. 트릭은 당신이 그것을 다시 갈 필요가있을 것입니다. 하지만 도난당한 걸 어떻게 감지하나요? 사용자는 단추가 음악을 재생하도록 설정 한 단추를 설정 한 다음 음악을 재생할 수 있습니다. 이 프로그램과 비슷하지만 훨씬 더 많은 옵션을 만들고 싶습니다. https://play.google.com/store/apps/details?id=com.kober.headset&hl=ko – user2773829
변경할 수있는 수신기 목록을 가져 오는 방법이 있습니까? 직접 조작 할 수 있습니다. – Carcigenicate