我正在尝试制作一个处理媒体按钮事件的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);
我已经阅读了所有有关它的文章,但对我没有任何帮助。