Убить приложение на входящем телефоне
-
26-10-2019 - |
Вопрос
Надеюсь, это легкий для кого -то, но вызывает у меня проблемы.
У меня есть приложение, которое зацикливает звуковые файлы. У меня нет кода в 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 ()