2011-12-26 67 views
4

當應用程序從背景模式變爲前景模式時,我可以獲取我的應用程序的推送通知(APNS通知)列表嗎? 在前臺模式我可以收到推送通知信息的回調我可以獲得有關通知(apn)的信息

- (空)應用程序:(UIApplication的*)應用程序didReceiveRemoteNotification:(NSDictionary的*)USERINFO

其他情況:

我的應用程序收到推送通知,當應用程序在後臺模式。 在此之後我點擊應用程序圖標,我想獲得有關收到通知的信息。我怎樣才能得到這個信息?

如果我直接在通知點擊(而不是在應用程序圖標),在後臺模式,則回調didReceiveRemoteNotification是呼叫

+0

如果您在[APNS - Apple推送通知服務](http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html),他們到達時他們到達(並且操作系統相應地顯示它們 - 取決於您的應用是否在前臺)。或者你在談論不同類型的通知,而不是APNS?像服務器上的狀態更改或? – 2011-12-26 10:26:48

回答

3

當應用程序從後臺變爲前臺模式時,我可以獲取我的應用程序的推送通知(APNS通知)列表嗎?

編號沒有列表。你一次只能得到一個通知。當用戶iPhone處於離線狀態併發送5條通知時,用戶只會獲得您發送的最後一條通知。

如果用戶開始使用通知上的開放動作你的應用程序,你會用得到它的開始:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

其他案例

我的應用程序接收推送通知,當應用程序在後臺模式。在此之後,我點擊應用程序圖標,我想獲得有關收到通知的信息。我怎樣才能得到這個信息?

你不行。當用戶關閉通知並在稍後打開您的應用程序時,它已經消失,並且無法訪問它。

當您發送推送通知時,您可能有一臺服務器可通過互聯網到達,您可以在其中註冊用戶的設備。

通常的處理方法是將通知存儲在此服務器上,並在應用程序啓動時對其進行查詢...所以使用通知只是爲了通知用戶啓動您的應用程序,然後在啓動應用程序時檢查您的服務器無論你想要什麼。

0

一旦您的應用程序到達前臺並且正在運行,通知警報就會像聲音,警報不會顯示,或者您不會收到通知。

但是您將在UIApplication Delegate中收到一個回電,您可以使用它。

所述API是,

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;

而且,如果您的應用程序在後臺運行,則會出現通知,並且只有當您單擊「查看」按鈕時,纔會在UIApplication委託中接收回調。

如果您點擊關閉按鈕,您將不會在應用程序中回電。

相關問題