CTCallCenter
'da, çağrı olayları gerçekleştiğinde aranacak bir bloğu iletebileceğiniz bir yöntem, callEventHandler
vardır. Bu satırda, CTCall
nesnesini geçirirsiniz ve callState
'u edinebilirsiniz. Böylece, bir çağrı başlatıldığında veya bittiğinde bir bildirim alabilirsiniz ve uygun şekilde işleyebilirsiniz. Hangi uygulamanın aramayı başlattığını göremezsiniz, ancak aramayı yaptığınızda bir ivar ayarlarsanız, bunun çağrıyı yapan uygulamanız olduğunu söyleyebilirsiniz. Örneğin
:
CTCallCenter *callCenter = [[CTCallCenter alloc] init];
callCenter.callEventHandler=^(CTCall* call){
if (call.callState == CTCallStateDisconnected)
{
//handle disconnect
}
};
DÜZENLEME: Sorunuzu okuma Yeniden, size doğru asılı iken bu olayları istiyorsun? Bunun mümkün olduğunu düşünmüyorum. docs itibaren
:
bir çağrı olay gerçekleştiğinde Başvurunuz aktifse, sistem hemen işleyicisi olay gönderir. Ancak, uygulamanız askıya alınırken arama etkinlikleri de gerçekleştirilebilir. Askıya alınırken, uygulamanız arama etkinlikleri almaz. Uygulamanız etkin durumu devam ettirdiğinde, uygulamanız askıya alınmışken yapılan çağrıda kaç durum değişikliği olursa olsun, durum değiştirilen her çağrı için tek bir çağrı olayı alır. İşleyicinize gönderilen tekli arama olayı, uygulamanızın etkin duruma dönmesiyle, o andaki çağrı durumunu açıklar.
Başka bir uygulamada * telefon * araması mı demek istiyorsunuz? Skype'ta yapılan bir aramada arka planda çalışıyor mu? – progrmr
Lütfen bkz. Http://stackoverflow.com/questions/3319805/detecting-call-state-in-ios4 –