Вопрос

Надеюсь, это легкий для кого -то, но вызывает у меня проблемы.

У меня есть приложение, которое зацикливает звуковые файлы. У меня нет кода в Onpause, так как я хочу, чтобы приложение продолжало играть музыку в фоновом режиме.

Теперь мне нужно закрыть приложение, если получен входящий звонок.

Я могу добавить код в Onpause, закрыть деятельность и остановить медиаплеера. Однако это останавливает приложение, если запускается какое -либо приложение.

Как я могу обнаружить входящий вызов, чтобы проверить наличие внутри Onpause?

Это было полезно?

Решение

Чтобы обнаружить входящий звонок, мы зарегистрируем веропрограмму для Action Android.intent.Action.Phone_State. Это будет транслироваться, когда произойдет изменение в состоянии телефона. Приемное намерение будет иметь дополнительную строковую переменную telephonymanager.extra_state, который описывает состояние телефона. Если это состояние является телефонами manager.extra_state_ringing, тогда будет еще одна дополнительная строковая переменная telephonymanager.extra_incoming_number. Эта переменная содержит входящий номер телефона. Обратите внимание, что эта переменная не будет присутствовать, когда государство не будет телефонамманагер. Extra_state_ringing.

источник : http://www.androiddevblog.net/android/deting-concoming-and-ploge-calls-in-android

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

Другие советы

Ты не должен. Android позаботится об этом, приостановив ваше приложение - вы должны использовать диспетчер телефонии, чтобы определить, остановить ли ваше применение или нет. Правильным способом будет справиться с этим в методе OnPause ()

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top