2010-08-16 75 views
2

我正在使用通知系統作爲警報機制。如果應用程序處於關閉狀態或在後臺運行,則iPhone在收到通知時會向用戶發出警報。如果應用程序正在運行,並且在前臺,我想顯示相同的警報視圖,就好像它已關閉一樣。我無法得到這個適用於應用程序從背景轉換到前景的情況。如果過渡是由於通知導致的,或者用戶單擊啓動圖標,我最終會看到警報兩次。Iphone 4 sdk - 我如何知道applicationWillEnterForeground是否由於通知而被觸發?

有什麼辦法可以知道轉換是否是由於用戶點擊啓動圖標而導致的通知?

謝謝。

回答

5

This question provides the answer

具體來說,在didReceiveRemoteNotification方法中,您可以檢查應用程序的狀態。 UIApplicationStateActive意味着它在前臺,所以你需要顯示警報。否則Iphone將處理警報:

UIApplicationState state = [application applicationState]; 
if (state == UIApplicationStateActive) { 
    // Show the alert 
}