Мне нужно создать сервис, который работает в фоновом режиме и определяет, используется ли громкоговоритель телефона. Мне нужно прослушать телефон «громкоговоритель» (ВКЛ или ВЫКЛ), и выполнение действия зависит от состояния громкоговорителя.В ОС Android, могу ли я создать службу, которая работает в фоновом режиме, и определяет, включен ли громкий динамик или выключен?
ответ
Вы можете зарегистрировать BroadcastReceiver
с действием AudioManager.RINGER_MODE_CHANGED
, которое будет запущено при изменении звукового профиля. Внутри onReceiver()
вы можете позвонить по телефону AudioManager
getRingerMode()
, который вернет RINGER_MODE_NORMAL
, RINGER_MODE_SILENT
или RINGER_MODE_VIBRATE
. Надеюсь это поможет.
Tnx, я постараюсь скоро! – Rami
будет запускаться AudioManager.RINGER_MODE_CHANGED независимо от того, какое приложение использует динамик? – Rami
дорогой Егор, я думаю, что меня неправильно поняли. Мне нужна моя служба, чтобы знать каждый раз, когда используется спикер (не звонок). Допустим, разговор продолжается, и пользователь помещает телефонный динамик в положение ON, мне нужно мое обслуживание, чтобы отреагировать на него (и в состояние OFF также) – Rami
Вы имеете в виду наушники, подключенные или нет? (разъемы для наушников говорят, что выключено, наоборот, наушники отключены, а громкоговоритель включен.) – itsrajesh4uguys
Мне нужна моя служба, чтобы знать каждый раз, когда используется динамик (не звонок). Допустим, разговор продолжается, и пользователь включил телефонную трубку, мне нужно мое обслуживание, чтобы реагировать на него. – Rami
вы можете .. мне нужно знать, что вы имеете в виду от спикера ??? mediavolume или подключения наушников или некоторые другие вещи? Я думаю, что вы говорите о громкости вкл. и выкл., пока пользователь в правильном порядке? – itsrajesh4uguys