【发布时间】:2012-02-03 05:19:19
【问题描述】:
我正在实现媒体播放器并尝试暂停/启动播放器。但是当我开始按下耳机按钮时,广播接收器被反复调用。我正在使用下面的代码。有谁能够帮我。
编辑:
我已经像这样初始化接收器。我的代码中有任何错误
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();
}
}
【问题讨论】:
-
请说明您对此投反对票的原因。我必须改进我的问题以获得更好的答案。
-
反复调用它是什么意思?您的代码与您链接到的示例中显示的代码完全相同吗?你记得过滤 Intent 吗?
标签: android media-player headphones