2013-03-13 52 views
2

我似乎無法找到明確的線索來回答這些問題:當應用程序未運行時是否啓動UILocalNotifications?

「應用程序未運行時(即不在前臺或後臺)啓動計劃的UILocalNotification」嗎?

「當應用程序未運行時(即不在前臺或後臺)並且手機處於鎖定/睡眠模式時是否觸發UILocalNotifications?」

有些答案表明,由於UILocalNotifications是由iOS操作系統處理的,有些人似乎暗示他們只會在應用程序在後臺或前臺運行時觸發。如果手機被鎖定,我無法找到UILocalNotifications是否有效。

謝謝,詹姆斯

回答

6

只需
From apple docs

當系統提供了一個本地通知,有幾個事情都可能發生,這取決於應用程序狀態和通知的類型。如果應用程序不是最前面和可見的,則系統將顯示警報消息,標記應用程序並播放聲音 - 無論通知中是否指定。如果通知是警報,並且用戶點擊操作按鈕(或者,如果設備被鎖定,拖動打開操作滑塊),則啓動應用程序.`

UILocalNotification由OS處理。一旦你安排它,OS會爲你管理它。系統是否正在運行系統會發出通知。你只需要在申請對此作出迴應:didReceiveLocalNotification:應用中:didFinishLaunchingWithOptions:(處理如果應用程序由於通知發佈)

記得

如果應用程序是最重要的,並系統發出通知時可見,不顯示警報,不顯示圖標,也不播放聲音。但是,應用程序:didReceiveLocalNotification:如果應用程序委託實現它,則會被調用。

+0

非常好。謝謝! – JamesLCQ 2013-03-13 10:21:51

0

是的。本地通知將觸發您的應用是否在後臺或前臺運行。

如果您的應用程序在前臺運行,然後

- (void)application:(UIApplication*)application didReceiveLocalNotification:(UILocalNotification*)notification 

將調用。

如果你的手機是鎖定的,那麼UILocalNotification也可以工作,但它不會顯示警報主體(即Alert without Button)。

相關問題