我正在尝试暂停拔下耳机时播放的音乐.
我创建了一个BroadcastReceiver,它侦听ACTION_HEADSET_PLUG意图,并在状态 extra为0(对于unplugged)时对它们进行操作.我的问题是,每当活动开始时,我的BroadcastReceiver都会收到ACTION_HEADSET_PLUG意图.这不是我期望的行为.我希望只有在插入耳机或拔下耳机时才会触发Intent.
有没有理由在使用该IntentFilter注册接收器后立即捕获ACTION_HEADSET_PLUG Intent?有没有明确的方法可以解决这个问题?
我认为,由于默认音乐播放器在拔下耳机时实现了类似的功能,因此可以实现.
我错过了什么?
这是注册码
registerReceiver(new HeadsetConnectionReceiver(),
new IntentFilter(Intent.ACTION_HEADSET_PLUG));
Run Code Online (Sandbox Code Playgroud)
这是HeadsetConnectionReceiver的定义
public class HeadsetConnectionReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Log.w(TAG, "ACTION_HEADSET_PLUG Intent received");
}
}
Run Code Online (Sandbox Code Playgroud)