我对 android 很陌生,我正在创建一个音乐播放器。我不熟悉 MediaSession,现在我有一个正常工作的音乐播放器,但它不支持对耳机点击或暂停来电作出反应。
这是我的代码:
ComponentName mediaButtonReceiver = new ComponentName(context, MusicPlayerNotificationReceiver.class);
final MediaSessionCompat mediaSession = new MediaSessionCompat(context, "Start MP", mediaButtonReceiver, null);
mediaSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS | MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS);
LockerActivity.getInstance().runOnUiThread(new Runnable() {
@Override
public void run() {
mediaSession.setCallback(MusicPlayer.this);
}
});
mediaSession.setActive(true);
我也有一个BroadcastReceiver
用这个动作定义的
<action android:name="android.intent.action.MEDIA_BUTTON" />
这是我所有相关的代码MediaSession
。所以,就目前而言,我只是尝试从耳机中获取有关操作的通知。我在里面的第一行有一个断点onReceive()
,我点击耳机中的按钮,没有任何反应。如果我长按按钮而不是 android 进入聆听模式以获取语音指令。
我还需要什么?