Обратный вызов Android MediaSession не получает события медиа-кнопки - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь создать приложение для Android, которое обрабатывает события мультимедийных кнопок.Я следую официальному руководству по Android, поэтому установил объект mediasession, который отправляет события мультимедийных кнопок в мой объект обратного вызова.Проблема в том, что обратный вызов не получает события, и когда я нажимаю кнопку мультимедиа (например, гарнитуру), приоритет становится спойтизованным, даже если приложение находится на переднем плане.

MyCallback callback = new MyCallback(TimerMaster.getTimer());
MediaSession mediaSession = new MediaSession(this,"tag");
mediaSession.setFlags(
            MediaSession.FLAG_HANDLES_MEDIA_BUTTONS |
                    MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS);
mediaSession.setCallback(callback);
PlaybackState.Builder stateBuilder = new PlaybackState.Builder();
stateBuilder.setActions(PlaybackState.ACTION_PLAY |
            PlaybackState.ACTION_PAUSE |
            PlaybackState.ACTION_PLAY_PAUSE);
stateBuilder.setState(PlaybackState.STATE_PLAYING, 0, 1);
mediaSession.setPlaybackState(stateBuilder.build());    

mediaSession.setActive(true);

У меня естьпрочитайте все посты об этом, но у меня ничего не получилось.

...