2011-01-05 3 views
3

Я прочитал о CoreTelephony классе и в этом CTClass может проверить абонента и найти состояние вызова ....Проверка входящего вызова на Iphone

Но когда и как использовать это ......

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

+3

Вы можете обнаружить, когда кто-то звонит, но вы не можете проверить, кто звонит. Это было бы ужасным нарушением конфиденциальности. –

ответ

4

Это не возможно с официальным SDK. Лучшее, что вы можете сделать, это определить, находится ли пользователь в вызове. Вы можете сделать это, проверив размер рамки строки состояния.

[UIApplication sharedApplication].statusBarFrame 
+0

Когда пользователь в вызове, тогда наше приложение запустится? ,,, извините, я думаю, что мое приложение переходит на задний план и ничего не делает ...? – Saawan

+0

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

+4

рамка строки состояния также выше, чем обычно, в режиме привязки – FelixLam

0

Не совсем уверен, что вы пытаетесь достичь, но после вызова завершается пользователь должен автоматически вернуться в приложение.

+0

Я имею в виду, как мое приложение может проверить, что кто звонит – Saawan

+1

Система не дает вам доступа к информации о том, кто звонит. Я предполагаю, что приложения черной шляпы не могут следить за вызовами пользователя. –

0

Невозможно получить эту информацию с помощью текущего SDK, скорее всего, из соображений конфиденциальности. Я бы рекомендовал подавать запрос на функцию с Apple (http://radar.apple.com), однако я сомневаюсь, что это то, что они могут включить в будущем.

2

Если вы спрашиваете, можете ли вы отслеживать телефонные звонки в фоновом режиме, вы не можете в любой ситуации.

Если вы хотите узнать, можете ли вы в любой момент времени, когда вы работаете, можете. Вы можете получить доступ к свойству currentCalls 'CTCallCenter', и он даст вам состояние вызова в этот момент времени.

Если вы хотите отследить, будет ли вызов, вызывающий причину вашего приложения, переходить на задний план, вы можете использовать свойство callEventHandler 'CTCallCenter'.

Смежные вопросы