Android耳机Jack Listener

DRi*_*FTy 6 java audio android media-player android-audiomanager

有谁知道如何检测设备上的耳机插孔是否在Android上拔掉?我有一个音乐播放器,我需要在拔下耳机时暂停音乐.我发现最接近的是使用AudioManager.这是正确的方向吗?

DRi*_*FTy 13

这就是我最终做的事情:

private class NoisyAudioStreamReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) {
            pause();
        }
    }
}

private IntentFilter intentFilter = new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY);

private void startPlayback() {
    registerReceiver(myNoisyAudioStreamReceiver(), intentFilter);
}

private void stopPlayback() {
    unregisterReceiver(myNoisyAudioStreamReceiver);
}
Run Code Online (Sandbox Code Playgroud)

我在这个链接找到了答案:http://developer.android.com/training/managing-audio/audio-output.html