2012-04-23 13 views
0

我一直在閱讀很多關於UILocalNotification的內容,並且我還在應用程序中添加了一些內容。 我的問題是我想要一個重複的通知(例如每2分鐘),但我不希望它們'疊加',如果用戶沒有響應每一個,因爲它們出現。 似乎沒有任何辦法來處理這個問題 - 顯然,通知意味着每次都要由用戶作出響應,而不是要被忽略。更好的方式來處理除UILocalNotification以外的重複通知?

那麼,有沒有更好的方式來通知用戶,當應用程序在後臺,或者是本地通知的唯一方法?

回答

1

我還沒有嘗試過任何此代碼,但您可以取消先前發送的UILocalNotification併發送另一個。

if(_lastSentNotification) { 
    [[UIApplication sharedApplication] cancelLocalNotification:_lastSentNotification]; 
} 
_lastSentNotification = ...code to create UILocalNotification 
[[UIApplication sharedApplication] scheduleLocalNotification:_lastSentNotification]; 

對於cancelLocalNotification,API文檔說:

調用此方法也編程駁回通知,如果它正在顯示一個警告。

所以這聽起來像你不一定要有用戶交互來處理通知。

+0

謝謝,但我相信問題是通知在後臺堆疊起來,並且上面的代碼無法在後臺運行,所以只能在用戶點擊View並且應用返回到前臺後才能關閉通知... – wayneh 2012-04-23 16:39:04

1

如何在您處理通知N時調度通知N + 1,在用戶響應之後呢?

+0

這隻會在用戶響應時才起作用 - 問題在於他們沒有響應通知堆棧,而您只能響應用戶點擊打開應用程序的「查看」。 – wayneh 2012-04-23 20:31:37

+0

對,如果用戶沒有迴應,新的不會被安排。如果用戶確實做出了迴應,新的確實會得到安排。認爲這就是你想要的,但我想我誤解了。 – danh 2012-04-23 20:34:19

+0

如果用戶在每次顯示通知時點擊「關閉」,則沒有問題。但是,如果用戶離開他們的設備一段時間,通知堆疊起來,他們必須連續多次「關閉」 - 這就是問題所在。如果他們點擊「查看」,這是沒有問題的 - 應用程序打開,我不需要通知,除非他們再次關閉...... – wayneh 2012-04-24 12:19:17

相關問題