在Android中如何在通话过程中监听音频路由的变化

在Android中如何在通话过程中监听音频路由的变化,android,audio,bluetooth,call,Android,Audio,Bluetooth,Call,我似乎不知道如何检测用户在通话中更改音频路由的情况。特别是,当用户在通过蓝牙耳机发送的音频和设备听筒之间切换时,收听。有人能给我举个好例子吗? 谢谢。在onCreate或onStart命令中 MyBroadcastReceiver myReceiver = new MyBroadcastReceiver(); IntentFilter filter = new IntentFilter(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED); registerR

我似乎不知道如何检测用户在通话中更改音频路由的情况。特别是,当用户在通过蓝牙耳机发送的音频和设备听筒之间切换时,收听。有人能给我举个好例子吗?
谢谢。

在onCreate或onStart命令中

MyBroadcastReceiver myReceiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED);
registerReceiver(myReceiver, filter);
在onDestroy中

unregisterReceiver(myReceiver);
广播接收机类

private class MyBroadcastReceiver extends BroadcastReceiver {       
    @Override 
    public void onReceive(Context context, Intent intent) {         
        if(intent.getAction().equals(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED)){
            int state = intent.getIntExtra(BluetoothHeadset.EXTRA_STATE,-1);
            switch(state){
            case BluetoothHeadset.STATE_AUDIO_CONNECTED:
                Log.d(TAG,"Bluetooth connected");
                break;
            case BluetoothHeadset.STATE_AUDIO_DISCONNECTED:
                Log.d(TAG,"Bluetooth disconnected");
                break;
            }
        }   
    }   
}