Убить приложение при входящем звонке - PullRequest
0 голосов
/ 30 ноября 2011

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

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 30 ноября 2011

Чтобы обнаружить входящий вызов, мы регистрируем BroadcastReceiver для действия android.intent.action.PHONE_STATE.Это будет транслироваться при изменении состояния телефона.Получающее намерение будет иметь дополнительную строковую переменную TelephonyManager.EXTRA_STATE, которая описывает состояние телефона.Если это состояние TelephonyManager.EXTRA_STATE_RINGING, тогда будет еще одна дополнительная строковая переменная TelephonyManager.EXTRA_INCOMING_NUMBER.Эта переменная содержит номер входящего телефона.Обратите внимание, что эта переменная не будет присутствовать, когда состояние не TelephonyManager.EXTRA_STATE_RINGING.

source: http://www.androiddevblog.net/android/detecting-incoming-and-outgoing-calls-in-android

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

1 голос
/ 30 ноября 2011

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

...