Как обнаружить и управлять входящим звонком (Android)? - PullRequest
3 голосов
/ 07 июля 2011

Я хочу создать приложение, которое может обнаруживать входящие вызовы и запускать мои пользовательские действия после определенного количества звуковых сигналов (звонков), то есть после 2, 3 или 5 звуковых сигналов (звонков), мой activity срабатывает. Как мне это сделать?

Спасибо

Ответы [ 2 ]

4 голосов
/ 22 января 2013

Моя статья об обнаружении входящих и исходящих звонков, с пошаговыми инструкциями: Обнаружение входящих и исходящих телефонных звонков на Android

При обнаружении входящего вызова вы можете начатьтаймер с интервалом, равным beepInterval * beepCount.И запустите активность по этому таймеру.

4 голосов
/ 18 октября 2012

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

Однако вы можете посчитать количество времени, прошедшее с момента поступления вызова. Установите BroadcastReceiver для PHONE_STATE (для получения события вам потребуется соответствующее разрешение в манифесте). Как только вы получите EXTRA_STATE_RINGING, который идет с PHONE_STATE, установите сигнал тревоги через AlarmManager, который сработает Service, который проверяет, транслировалась ли EXTRA_STATE_OFFHOOK (широковещательная передача при получении вызова) после вашей время ожидания. Если нет, то вы можете запустить автоответчик.

Я написал краткое руководство на моем веб-сайте о том, как отследить прибытие звонка (когда звонит телефон), когда звонок принимается и когда он заканчивается.

...