【发布时间】:2010-11-03 23:03:28
【问题描述】:
我正在尝试暂停拔下耳机时正在播放的音乐。
我创建了一个 BroadcastReceiver,它监听 ACTION_HEADSET_PLUG 意图,并在 state extra 为 0(用于拔出)时对其进行操作。我的问题是,每当活动开始时,我的 BroadcastReceiver 都会收到 ACTION_HEADSET_PLUG 意图。这不是我所期望的行为。我希望只有在插入或拔出耳机时才会触发 Intent。
是否有理由在使用该 IntentFilter 注册接收器后立即捕获 ACTION_HEADSET_PLUG Intent?有没有明确的方法可以解决这个问题?
我认为,由于默认音乐播放器在拔下耳机时会实现类似的功能,因此这是可能的。
我错过了什么?
这是注册码
registerReceiver(new HeadsetConnectionReceiver(),
new IntentFilter(Intent.ACTION_HEADSET_PLUG));
这是HeadsetConnectionReceiver的定义
public class HeadsetConnectionReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Log.w(TAG, "ACTION_HEADSET_PLUG Intent received");
}
}
【问题讨论】:
标签: android