我正在实施媒体播放器并尝试暂停/启动播放器。但是当我开始按下耳机按钮时,重复调用广播接收器。我正在使用以下代码。有谁能够帮我。
修改
我已经像这样初始化了接收器。我的代码中出了什么问题
MediaButtonIntentReceiver mMediaButtonReceiver = new MediaButtonIntentReceiver();
IntentFilter mediaFilter = new IntentFilter(
Intent.ACTION_MEDIA_BUTTON);
mediaFilter.setPriority(100000);
registerReceiver(mMediaButtonReceiver, mediaFilter);
我的广播接收器:
public class MediaButtonIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String intentAction = intent.getAction();
if (!Intent.ACTION_MEDIA_BUTTON.equals(intentAction)) {
return;
}
KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (event == null) {
return;
}
int action = event.getAction();
if (action == KeyEvent.ACTION_DOWN) {
if(AudioPlayer.player!=null)
{
if(AudioPlayer.player.isPlaying())
AudioPlayer.player.pause();
else
AudioPlayer.player.start();
}
}
abortBroadcast();
}
}
答案 0 :(得分:0)
您在清单
中注册广播接收器然后使用以下方式注册广播接收器:
AudioManager#registerMediaButtonEventReceiver
registerMediaButtonEventReceiver的参数是指向广播接收器的ComponentName。