Pre API 21 Я использовал вызов типа audioManager.registerMediaButtonEventReceiver(receiver);
для обработки событий мультимедийных кнопок, когда пользователь нажал кнопку на своей гарнитуре. Что касается API 21, кажется, что следует использовать MediaSession
. Однако я не получаю никакого ответа.
final MediaSession session = new MediaSession(context, "TAG");
session.setCallback(new Callback() {
@Override
public boolean onMediaButtonEvent(final Intent mediaButtonIntent) {
Log.i("TAG", "GOT EVENT");
return super.onMediaButtonEvent(mediaButtonIntent);
}
});
session.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS |
MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS);
session.setActive(true);
Над тем, что я думаю, должно работать, но нет. Кто-нибудь знает, почему это не работает или как я должен зарегистрироваться?