2012-07-22 107 views
8

我實現當我的應用程序在後臺,推送通知是隻有當我觸頂通知橫幅

application:didReceiveRemoteNotification: 

收到推送通知時,將數據存儲在我的應用程序處理。

然而,當我的應用程序在後臺,我收到通知,該數據只有當我觸摸顯示在上面的通知旗幟存儲:

enter image description here

相反,如果我觸摸應用程序圖標重新打開它,通知的內容沒有存儲:

enter image description here

因爲我收到了通知,只有當我使用分佈圖,我不確定是否僅當我將通知橫幅推到頂部時纔會調用application:didReceiveRemoteNotification:

我認爲它總是在收到通知時調用,而不是在設備上的用戶操作之後調用。

UPDATE。 我不知道這是否可以幫助,但只是爲了讓你知道,我還沒有實現任何的這些方法:

– applicationDidEnterBackground: 
– applicationWillEnterForeground: 
- applicationDidBecomeActive: 

回答

1

我想我已經找到了原因。從技術文檔:

如果操作按鈕被竊聽(運行iOS的設備上),該系統 啓動應用程序和應用程序調用其委託的 應用中:didFinishLaunchingWithOptions:方法(如果實現的話);它 傳入通知負載(用於遠程通知)或本地通知對象(用於本地通知)。

如果在運行iOS的設備上輕敲應用程序圖標, 應用程序將調用相同的方法,但不會提供有關通知的信息 。

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html

不過,我不知道是否有一種方式來加載,即使應用程序已經通過觸摸圖標重新打開有效載荷。

+1

我知道這已經有一段時間了,但是您是否已設法檢測/加載有效負載,即使應用程序是通過點擊圖標而不是通知打開的? – 2013-04-24 16:46:10

+0

發佈的鏈接不再可用,downvote不是我的... – ashokdy 2014-05-13 06:45:58

相關問題