我正在使用UILocalNotifications第一次。主要處理重複通知。除了一件事之外,大多數都是有道理的。通過應用程序圖標打開UILocalNotification句柄?
Apple Documentation陳述了幾種情況,用於處理本地通知。
首先,當用戶「敲擊通知」時,應用程序的外部的情況下:如果通知是一個警報和用戶輕敲動作按鈕
(或者,如果設備是鎖定,拖動打開動作滑塊),啓動 應用程序。在 應用程序中:didFinishLaunchingWithOptions:方法應用程序 委託人可以通過使用 UIApplicationLaunchOptionsLocalNotificationKey鍵從傳入的 選項字典中獲取UILocalNotification對象。代表可以 檢查通知的屬性,並且如果通知 在其userInfo字典中包含自定義數據,則它可以訪問該數據並相應地處理該數據。
還規定了當用戶在應用程序中會發生什麼情況:
如果應用程序是最重要和明顯的,當系統提供 通知,顯示沒有警覺,沒有圖標是徽章,沒有聲音 播放。但是,應用程序:didReceiveLocalNotification:如果應用程序委託實現它,則調用 。將 UILocalNotification實例傳遞給此方法,並且 委託可以檢查其屬性或訪問 userInfo字典中的任何自定義數據。
在這兩種情況下,開發人員都可以訪問uilocalnotification,然後決定如何處理它。但是,在第三種情況下 - 當應用程序之外的用戶看到並忽略通知,然後啓動應用程序時,不會調用允許應用程序知道先前已觸發哪些通知的方法?
起初我以爲,這種說法是描述這種行爲,但現在我不知道:
在另一方面,如果本地通知只徽章 應用程序圖標,並響應用戶啓動應用程序 應用程序:didFinishLaunchingWithOptions:方法被調用,但 選項字典中不包含UILocalNotification對象。
我該如何處理第三種情況?我如何知道哪些本地通知已經解僱?我是否需要遍歷列表並自己檢查所有時間?有沒有更好的方法來完成這一點?
感謝您的回答。經過額外的研究,我發現我的問題是這篇文章的副本: http://stackoverflow.com/questions/16469721/detect-unacknowledged-uilocalnotifications – dtmland
嗨@dtmland你找到了解決這個問題.. .can請分享嗎? –