ios - 取消或重新安排本地通知的推送通知?

标签 ios push-notification uilocalnotification alarm

我们正在研究构建一个闹钟式 iOS 应用程序作为网站的扩展。

我们计划通过推送通知将警报发送到设备。我们还希望将本地通知设置为比计划的推送通知晚一点的时间,以防没有网络连接并且推送通知无法到达用户。

但是,我们想取消这个本地通知,并在收到推送通知时重新安排它,这样就不会因为不必要的通知而烦扰用户。

本质上是两种类型的推送通知:

  • 设置为发送的实际警报(正常能力)
  • 没有闹钟,但在下一个计划的闹钟时间之后将本地通知重置为一点(能力未知)

有这种可能吗?

也许有变通办法,比如能够像只处理推送通知的音频应用程序一样留在后台,我们可以请求 Apple 的特别批准?

获得这样的特殊批准有多普遍?

谢谢

最佳答案

我和 Anthony Corbelli 一样不确定,如果您要为同一警报设置本地通知,推送通知的原因是什么。

在任何情况下,如果您想从推送通知处理程序中取消和/或重新安排现有的 UILocalNotification,您可以使用

获取通知列表
[[UIApplication sharedApplication]scheduledLocalNotifications]

然后取消你想要的那个

[[UIApplication sharedApplication]cancelLocalNotification]

然后您可以根据需要修改通知(例如,将其 fireDate 移到 future )并根据需要重新安排。

关于ios - 取消或重新安排本地通知的推送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13080138/

相关文章:

android - 应用程序被杀死后推送通知

ios - 将缩略图附加到通知时,文件去了哪里?

ios - 在 UILocalNotification 触发后修改它的最佳方法是什么?

ios - 通过在 ios sdk 中添加行来格式化 UITextView 的目的

iphone - IOS 是否有发送网页请求并在 iphone ios 上忘记它?

windows - 通过 azure 发送推送通知

swift - 计算两个日期之间的差异。 swift 1.2

ios - 在 "if"语句中使用#define

ios - 后台的 Swift 定时器

ios - 如何在 iPhone 中快速重播通知,如 whats app 或 iMessage?