Как прослушивать изменения в маршрутизации звука во время звонка в Android

Я не могу понять, как определить, когда пользователь меняет способ маршрутизации звука во время вызова. В частности, прослушивание, когда пользователь переключается между звуком, направляемым через Bluetooth-гарнитуру, и наушником устройства. Может ли кто-нибудь указать мне хороший пример? Спасибо.


person Paul    schedule 25.02.2014    source источник


Ответы (1)


В onCreate или onStartCommand

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

В onDestroy

unregisterReceiver(myReceiver);

Класс BroadcastReceiver

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;
            }
        }   
    }   
}
person Paul    schedule 06.03.2014