如何在 Android 通话期间侦听音频路由的变化



我似乎无法弄清楚如何检测用户在通话中何时更改音频路由方式。 具体而言,侦听用户何时在通过蓝牙耳机路由的音频和设备听筒之间切换。 有人可以指导我举一个好例子吗?谢谢。

In onCreate 或 onStartCommand

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

在销毁中

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;
            }
        }   
    }   
}

最新更新