我已经阅读了很多关于 UILocalNotification 的内容,并且我还在我的 App 中添加了一些内容。我的问题是我想要一个重复通知(例如每 2 分钟一次),但如果用户没有在它们出现时对每个通知做出响应,我不希望它们“堆积”。似乎没有任何方法可以处理这个问题 - 显然,通知意味着用户每次都会响应,而不是被忽略。
那么,有没有更好的方法在应用程序处于后台时通知用户,或者本地通知是唯一的方法吗?
我已经阅读了很多关于 UILocalNotification 的内容,并且我还在我的 App 中添加了一些内容。我的问题是我想要一个重复通知(例如每 2 分钟一次),但如果用户没有在它们出现时对每个通知做出响应,我不希望它们“堆积”。似乎没有任何方法可以处理这个问题 - 显然,通知意味着用户每次都会响应,而不是被忽略。
那么,有没有更好的方法在应用程序处于后台时通知用户,或者本地通知是唯一的方法吗?
在用户响应通知 N 后,仅在处理通知 N 时安排通知 N+1 怎么样?
我没有尝试过此代码,但您可以取消之前发送的代码UILocalNotification
并发送另一个代码。
if(_lastSentNotification) {
[[UIApplication sharedApplication] cancelLocalNotification:_lastSentNotification];
}
_lastSentNotification = ...code to create UILocalNotification
[[UIApplication sharedApplication] scheduleLocalNotification:_lastSentNotification];
关于cancelLocalNotification
,API 文档说:
如果通知当前正在显示警报,则调用此方法还会以编程方式关闭通知。
因此,听起来您不一定需要用户交互来处理通知。