我似乎无法弄清楚如何检测用户何时更改通话中的音频路由方式。具体来说,监听用户何时在通过蓝牙耳机路由的音频和设备听筒之间切换。有人可以指导我举个好例子吗? 谢谢。
最佳答案
在 onCreate 或 onStartCommand 中
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;
}
}
}
}
关于android - 如何在 Android 通话期间监听音频路由的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22028229/