Есть ли NSNotification для статуса телефонного звонка

Есть ли NSNotification, который мы можем наблюдать, когда устройство включено/выключено на телефоне?


person haider    schedule 07.07.2011    source источник


Ответы (2)


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

Существует ограничение, заключающееся в том, что обработчик вызывается только тогда, когда ваше приложение находится на переднем плане (или выводится из переднего плана при поступлении вызова), но он сообщает вам, набирает ли пользователь (CTCallStateDialing), получает вызов ( CTCallStateIncoming), ответ/подключение (CTCallStateConnecting) или завершение вызова (CTCallStateDisconnected).

person Arash Payan    schedule 07.07.2011
comment
Спасибо Араш. Это указало мне правильное направление. Согласно этому документу, если ваше приложение активно, когда происходит событие вызова, система немедленно отправляет событие вашему обработчику... Пока оно приостановлено, ваше приложение не получает события вызова. Мне любопытно, относятся ли состояния, о которых они говорят, к состояниям приложений; приостановлено отличается от фона. Лучше всего попробовать и узнать. Спасибо! - person haider; 09.07.2011

Я не знаю ни одного, но если проблема в том, что вы хотите узнать об изменении в строке состояния, вы можете наблюдать UIApplicationWillChangeStatusBarFrameNotification (как указано в нижней части Документация по UIApplication) и получать новый прямоугольник из соответствующей информации о пользователе при каждом изменении имеет место.

person Tommy    schedule 07.07.2011