android监听耳机插拔

private class NoisyAudioStreamReceiver extends BroadcastReceiver{
 
        @Override
        public void onReceive(Context context, Intent intent) {
             if (intent.getAction().equals(Intent.ACTION_HEADSET_PLUG)) {
                    int state = intent.getIntExtra("state", -1);
                    switch (state) {
                    case 0:
                        //拔出耳机
                        videoView.pause();
                         Log.d(TAG, "state:"+state);
                        break;
                    case 1:
                        //插耳机自动播放
                         Log.d(TAG, "state:"+state);
                         videoView.start();
                        break;
                    default:
                        Log.d(TAG, "未知状态");
                        break;
                    }
 
                }
             //只监听拔出耳机
            if (AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) {
                videoView.pause();
            }
        }
         
    }
 
注册广播:
NoisyAudioStreamReceiver noisyAudioStreamReceiver = new NoisyAudioStreamReceiver();
        IntentFilter filter = new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY);
        filter.addAction(Intent.ACTION_HEADSET_PLUG);
        registerReceiver(noisyAudioStreamReceiver, filter);

你可能感兴趣的:(android监听耳机插拔)