相关疑难解决方法(0)

28
推荐指数
3
解决办法
4万
查看次数

活动开始时收到Intent.ACTION_HEADSET_PLUG

我正在尝试暂停拔下耳机时播放的音乐.

我创建了一个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)

android

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×2

android-intent ×1

audio ×1