私はメディアプレーヤーを実装しており、プレーヤーを一時停止/開始しようとしています.しかし、イヤホンボタンを押し始めると、ブロードキャストレシーバーが繰り返し呼び出されます.以下のコードを使用しています. 誰でも私を助けることができますか?
編集:
私はこのように受信機を初期化しています.私のコードに何か問題があります
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();
}
}