Проблемы с включением и выключением динамиков во время программной обработки вызовов в Android

Я работаю над приложением, которое обрабатывает входящие и исходящие звонки. Я могу успешно обрабатывать входящие и исходящие вызовы с помощью диспетчера телефонии.

Проблема, с которой я сталкиваюсь здесь, заключается в том, что включение и выключение телефона с громкоговорителем не работает должным образом только для устройств Samsung S3 и Nexus (динамики включаются с шумом). Это хорошо работает в Samsung Duos и Micromax.

Пожалуйста, скажите мне, есть ли дополнительный код, который мне нужно использовать, чтобы заставить его работать.

audioManager.setMode(AudioManager.MODE_IN_CALL);    


if (audioManager.isSpeakerphoneOn()) {
    audioManager.setSpeakerphoneOn(false);
} else {
    audioManager.setSpeakerphoneOn(true);
}

1 ответ

Не меняйте режим работы AudioManager.

т.е. удалить строку:- audioManager.setMode(AudioManager.MODE_IN_CALL);

Если вы измените режим аудио-менеджера, вам необходимо восстановить его в предыдущем режиме также после завершения вызова.

Другие вопросы по тегам