静音 UILocalNotifications 发送一段时间
Posted
技术标签:
【中文标题】静音 UILocalNotifications 发送一段时间【英文标题】:Mute UILocalNotifications sending for a certain time 【发布时间】:2016-02-09 10:16:02 【问题描述】:每当用户接近我客户的其中一家商店时,我的应用都会通知(使用UILocalNotification
)用户,即使在后台也是如此。
我有一个静音按钮,当用户单击该按钮时,会弹出一个 actionSheet 并询问他希望将应用程序静音多长时间(5 小时、24 小时、1 周或 1 个月)。
当用户选择其中一个选项时,我希望应用停止发送通知,直到这个时间过去。
最好的方法是什么?
我会非常感谢一个代码示例。
谢谢!
【问题讨论】:
你试过什么?既然您的应用程序必须生成通知,为什么不计算静音期的到期并存储它。在生成新通知之前,请根据存储的日期检查当前日期。 @Avi 你能给我一个代码示例吗?也许我会更了解它 哪个部分比较难?存储日期以供将来比较?生成日期?比较日期?你甚至没有给我们任何代码来查看。 @Avi 谢谢你的回答我现在明白你的意思了。但我在 actionSheet 中还有一个选项,即在用户从应用程序手动取消静音之前不会发送通知。我该怎么做? 【参考方案1】://fire local notification
NSDate * storedDate // Store your date when setting the mute
int tillHoursForMute // hours for mute
muteDate = <storedDate+tillHoursForMute> //concatenate the hours into date
if ([muteDate compare:firingDate] == NSOrderedDescending && [muteDate compare:firingDate] == NSOrderedAscending)
//fire Notification
else
//Mute time
注意:刚刚写了步骤,根据语言情况更改它。
【讨论】:
这真是可怕的伪代码,因为你不应该那样比较日期。 让他处理各自的编码 将该选项存储为布尔值(NSUserDefaults
是个好地方)。如果设置了该值,则不要创建通知,或如果没有过期日期。
***.com/questions/3841166/…
非常感谢!以上是关于静音 UILocalNotifications 发送一段时间的主要内容,如果未能解决你的问题,请参考以下文章
获取现有 UILocalNotifications 的列表并修改其日期
UILocalNotifications 和 applicationIconBadgeNumber 的良好模式
如何将 UILocalNotifications 添加到数组 [关闭]