2011-07-21 17 views
6

Cihaz kilitliyken bir çağrıyı kesmek istediğim ancak SMS, takvim, düşük pil veya başka türde bir bildirim alındığında bağlı kaldığım bir Görüntülü Sohbet uygulamasına sahibim. Sorun şu ki, benim app delegesinin applicationWillResignActive seçicisinin neden çağrılacağını belirlemek için bana hayatın ne olduğunu anlayamıyorum.Tetiklenen uygulamanın nasıl tespit edildiWillResignActive?

Belirli bir süre içinde applicationDidBecomeActive çağrılmasaydı, bağlantının kesileceği, ancak bu kullanıcının saniyeler içinde alınmış bir bildirimi görmezden geleceğini veya kabul etmeyeceğini yanlış bir şekilde varsayar.

UygulamaWillResignActive seçicisinin neden çağrıldığını belirlemek için bir yol bulmama yardımcı olabilir misiniz?

Birçok sayesinde Mason

+0

Tüm UIApplication durum değişikliklerini kontrol ettiniz mi? http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UIApplicationDelegate – Luke

+0

@ Luke, Evet Yaptım. [Http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/CoreApplication/CoreApplication.html#//apple_ref/doc/uid/TP40007072-CH3-SW10 aracılığıyla da okudum.) 'Interruptions_'a yanıt verme bölümü altında ancak sorunumu çözmek için yararlı bir şey bulamadı. – jmason

+0

@Luke Ayrıca, uygulamada UIApplicationState'i işaretlediğimdeWillResignActive mevcut durum * UIApplicationStateActive * – jmason

cevap

5

ben gerçekten ancak aslında arka planda gider ya eğer uygun planı yalnızca olabilir özellikle ne istifa çağrısını neden belirlemek edemez, kısa cevap olabilir düşünüyorum değil.

Çoklu görevlerin gerçekleştirdiği adımları ayrıntılarıyla açıklayan bu bağlantıyı kontrol edin.

http://www.cocoanetics.com/2010/07/understanding-ios-4-backgrounding-and-delegate-messaging/

İyi şanslar, sen müthiş bir adam gibi görünüyor! Bu tetiklenmez

NSNotification.Name.UIApplicationDidEnterBackground: Benim durumumda

+2

Gerçekten de istifa çağrısının nedenini özel olarak söyleyemezsiniz, ancak senaryo için bir iş buldum. Bir cihaz kilitlendiğinde, AVFoundation yakalanan kareleri bir delegeye göndermeyi durdurur. Bu yüzden, görüntülü görüşmeler yaparken, WillResign'ın çağrılmasından sonra yeni kareleri almayı bıraktığımda cihazın kilitlendiğini biliyorum. Teşekkürler James, çok harika bir adamsın. – jmason

0

Ben NSNotification.Name.UIApplicationWillResignActive Şimdi

üzerine yakalama videoyu kapatma, ben kullanıyorum Bir mesaj geldiğinde veya birisinin yakalama cihazını aradığı zaman.