У меня есть приложение, которое отображает кнопку переключения громкой связи при использовании на телефоне. Тумблер переключает маршрутизацию звука между телефонной гарнитурой и громкой связью. Однако, когда приложение запускается на планшете (или на любом устройстве, у которого отсутствует наушник), я бы хотел удалить переключатель, поскольку все аудио направляется через громкую связь.
В идеале, я бы хотел использовать какой-то вызов isEarpiecePresent()
или, возможно, проверить флаг на каком-то объекте конфигурации, чтобы найти эту информацию, но я не могу найти что-либо из этого типа в API.
Я попытался обойти проблему, вызвав AudioManager.setSpeakerphoneOn(false)
, а затем проверив AudioManager.isSpeakerphoneOn()
, надеясь, что он все равно вернется, и я мог бы отменить это. Система вернула false
, хотя звук все еще прокладывается через динамик.
В настоящее время я думаю о проверке возможности телефонии, хотя это точно не подходит. Любые другие идеи?