2011-08-11 78 views

回答

1

這是一個非常好的問題。可能註冊接收來自UITelephony或類似的通知(使用UINotificationCenter呼叫)。但是,我不知道這是公共還是私人API。或者如果它甚至可能:)

但是,如果您在電話開始時主動使用您的應用程序,則在通話結束時它將呼叫-(void)applicationWillEnterForeground。至於區分電話通話結束與僅僅定期回覆電話,我不知道。但這是一個開始。

至於持續時間,只需保存時間戳,包括秒到NSUserDefaults-(void)applicationWillResignActive。然後與-(void)applicationWillEnterForeground時間戳做比較和做數學。我希望這會有所幫助,或者至少讓你走上正軌。

+0

我想告訴 我的應用程序不能在通話時在後臺運行/運行。 – Dhaval

+0

應用程序通過電話自動在後臺運行。 - (void)applicationWillResign在進入調用時被調用, - (void)applicationWillEnterForeground在從電話返回時調用...它也在通常的背景下使用這些通知,所以這是你必須弄清楚的。 –