【发布时间】:2016-01-09 02:27:38
【问题描述】:
我希望我的音乐播放器在耳机断开时暂停音乐,并在耳机重新连接时恢复音乐。我将此设置与广播接收器一起使用,但问题是在我断开耳机后,我可以在一瞬间听到扬声器播放的音乐。就像我的接收器没有足够快地接收广播?怎么回事?
在这里,我在我的主要活动类的onCreate 方法中注册我的接收器
MusicIntentReceiver receiver = new MusicIntentReceiver();
registerReceiver(receiver, new IntentFilter(Intent.ACTION_HEADSET_PLUG));
这是我的意图接收器类
public class MusicIntentReceiver extends android.content.BroadcastReceiver {
@Override
public void onReceive(Context ctx, Intent intent) {
if (intent.getAction().equals(android.media.AudioManager.ACTION_HEADSET_PLUG)) {
if(intent.getIntExtra("state",0)==0){ // 0 for unplugged (if it becomes unplugged)
//Pause music
}
if(intent.getIntExtra("state",0)==1){ // 1 for plugged (if it becomes plugged)
//Resume music
}
}
}
}
【问题讨论】:
标签: android