2011-07-21 8 views
6

私は、デバイスがロックされているときに電話から切断し、SMS、カレンダー、バッテリー不足またはその他の種類の通知を受け取ったときに接続を維持するビデオチャットアプリケーションを持っています。問題は、私の人生のために、どのようにして私のアプリケーションデリゲートのapplicationWillResignActiveセレクタが呼び出されるのかを判断する方法を知ることができないということです。どのようにapplicationWillResignActiveをトリガしたのかを検出するには?

私は、applicationDidBecomeActiveが特定の秒数内に呼び出されなかった場合、私は接続を切断するかもしれないが、ユーザがその秒数以内に受信した通知を無視または受け入れることを間違いなく想定しています。

applicationWillResignActiveセレクタが呼び出された原因を特定する方法を理解するのに役立つ人はいますか?実際にそれを背景になった場合、または

多くのおかげで、 メイソン

+0

すべてのUIApplication状態の変更をここで確認しましたか? http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UIApplicationDelegate – Luke

+0

@Luke、はい私はしました。私は[this](http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/CoreApplication/CoreApplication.html#//apple_ref/doc/uid/TP40007072-CH3-SW10)も読んでいます。 )の中にある_中断に反応_しましたが、私の問題を解決するのに役立つものは何も見つかりませんでした。 – jmason

+0

@ルークまた、私がapplicationWillResignActiveでUIApplicationStateをチェックしたときに、現在の状態は* UIApplicationStateActive * – jmason

答えて

5

私は短い答えは、あなたが本当に辞任コールが発生し、具体的内容を決定することができないこと、かもしれないと思うが、しかし、あなたはに応じてのみ計画することができますない。

マルチタスクの手順の詳細をこのリンクで確認してください。

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

幸運、あなたは素晴らしい男のように見えます!それがトリガされていない

NSNotification.Name.UIApplicationDidEnterBackground:私の場合は

+2

事実、辞任の原因を具体的に教えることはできませんが、私のシナリオでは回避策を見つけました。デバイスがロックされると、AVFoundationはキャプチャされたフレームを自分のデリゲートに送信することを停止します。ビデオ通話をしているとき、willResignが呼び出された後に新しいフレームの受信を停止すると、デバイスがロックされていることがわかります。ありがとうジェームズ、あなたはかなり素晴らしい男です。 – jmason

0

は私がNSNotification.Name.UIApplicationWillResignActive今

上のビデオキャプチャを停止して、私が使用していますメッセージが来たとき、または誰かがキャプチャデバイスに電話をかけているときに起こる。

関連する問題