2012-05-03 58 views
0

在我的(iPhone)應用程序中,我記錄了應用程序處於活動狀態的時間。如果超過特定值(比如說15分鐘),那麼登錄視圖將以警報視圖呈現給用戶。如果應用程序在後臺駐留的時間太長,這種行爲是相似的。然後,警報視圖將在應用程序再次變爲活動狀態時呈現給用戶。如果應用程序長時間處於背景中,則UIAlertView不顯示

但問題是當應用程序在後臺很長時間後應用程序又變爲活動狀態AlertView未向用戶顯示。我正在使用NSNotifications來通知會話是否超時。

基本流程是這樣的

啓動應用程序 - >把應用爲背景 - > applicationDidBecomeActive: - >檢查會話是否已經超時 - >顯示登錄查看 - >發表註銷通知

接收機將顯示alertview。我在應用程序委託以及loginview中接收邏輯。但是在這兩種情況下,alertview都不會顯示它是否長時間處於後臺。

我的問題是我可以通過一些延遲收到通知嗎?我想在登錄視圖出現後收到它。

回答

1

接收通知是您的應用程序的委託方法,它將接收它的實現位置。但您可以設置不同的標誌來檢查是否激活應用程序。

例如在應用程序將resigactive

設置一個標誌isActive =無;

並在接收通知設置一個標誌hasReceivedNotification = YES 檢查isActive ; 和存儲數據到某處

和應用也變得活躍aplication 檢查是否是活躍的,並接收遠程通知 設置一個第三標誌shouldShowAlertOnLoginView = YES; //通知數據是在情況下,以顯示

並在loginview檢查appDelegate.shouldShowAlertOnLoginView == YES

然後顯示用數據

警報
相關問題