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