我对Android非常陌生,我正在创建一个音乐播放器。 我对MediaSession不熟悉,现在我有一个运行正常的音乐播放器,但它不支持对耳机单击或响应呼叫时暂停。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);
我也有与此动作
这是我所有的代码ralated到MediaSession定义的BroadcastReceiver。 所以,现在,我只是试图从耳机得到通知。我在onReceive()的第一行有一个断点,我点击耳机上的按钮,没有任何反应。如果我长时间点击按钮比android进入聆听模式的讲话说明。
我还需要什么?
+0
尝试为MusicPlayerNotificationReceiver类创建显式广播PendingIntent,并将其作为MediaSessionCompat构造函数中的第四个参数传递。 –
+0
@MikeM。没有工作。 –
+0
您确定Receiver在清单中正确列出;正确的拼写,正确的文件夹等? –