我一直在閱讀很多關於UILocalNotification的內容,並且我還在應用程序中添加了一些內容。 我的問題是我想要一個重複的通知(例如每2分鐘),但我不希望它們'疊加',如果用戶沒有響應每一個,因爲它們出現。 似乎沒有任何辦法來處理這個問題 - 顯然,通知意味着每次都要由用戶作出響應,而不是要被忽略。更好的方式來處理除UILocalNotification以外的重複通知?
那麼,有沒有更好的方式來通知用戶,當應用程序在後臺,或者是本地通知的唯一方法?
我一直在閱讀很多關於UILocalNotification的內容,並且我還在應用程序中添加了一些內容。 我的問題是我想要一個重複的通知(例如每2分鐘),但我不希望它們'疊加',如果用戶沒有響應每一個,因爲它們出現。 似乎沒有任何辦法來處理這個問題 - 顯然,通知意味着每次都要由用戶作出響應,而不是要被忽略。更好的方式來處理除UILocalNotification以外的重複通知?
那麼,有沒有更好的方式來通知用戶,當應用程序在後臺,或者是本地通知的唯一方法?
我還沒有嘗試過任何此代碼,但您可以取消先前發送的UILocalNotification
併發送另一個。
if(_lastSentNotification) {
[[UIApplication sharedApplication] cancelLocalNotification:_lastSentNotification];
}
_lastSentNotification = ...code to create UILocalNotification
[[UIApplication sharedApplication] scheduleLocalNotification:_lastSentNotification];
對於cancelLocalNotification
,API文檔說:
調用此方法也編程駁回通知,如果它正在顯示一個警告。
所以這聽起來像你不一定要有用戶交互來處理通知。
如何在您處理通知N時調度通知N + 1,在用戶響應之後呢?
這隻會在用戶響應時才起作用 - 問題在於他們沒有響應通知堆棧,而您只能響應用戶點擊打開應用程序的「查看」。 – wayneh 2012-04-23 20:31:37
對,如果用戶沒有迴應,新的不會被安排。如果用戶確實做出了迴應,新的確實會得到安排。認爲這就是你想要的,但我想我誤解了。 – danh 2012-04-23 20:34:19
如果用戶在每次顯示通知時點擊「關閉」,則沒有問題。但是,如果用戶離開他們的設備一段時間,通知堆疊起來,他們必須連續多次「關閉」 - 這就是問題所在。如果他們點擊「查看」,這是沒有問題的 - 應用程序打開,我不需要通知,除非他們再次關閉...... – wayneh 2012-04-24 12:19:17
謝謝,但我相信問題是通知在後臺堆疊起來,並且上面的代碼無法在後臺運行,所以只能在用戶點擊View並且應用返回到前臺後才能關閉通知... – wayneh 2012-04-23 16:39:04