解除一系列UILocalNotifications或替代方法以实现相同的功能

时间:2011-02-01 22:06:59

标签: cocoa-touch ios4 uilocalnotification

我正在构建一个可用于进行间隔训练的小应用程序,
它安排了一系列UILocalNotifications,所有这些都安排在同一个 时间和所有人都在几分钟内被解雇了。

这个想法是你戴上耳机并开始锻炼 当你听到一种声音时,你会休息,另一种声音 听起来你锻炼。我用本地通知这样做,它的工作原理 正好。这样做的原因而不仅仅是 使用计时器运行的应用程序是我想要的 Nike + iPod应用程序可以同时在前台运行。

通知只是一个提醒和一个确定按钮:

[notif setHasAction:NO];

所以这个想法是:在耳机中弹出,启动我的应用程序,它安排一系列通知 - 然后启动Nike + iPod锻炼。当您听到通知声音时,请从休息状态更改为锻炼状态,反之亦然。

好的,当锻炼结束时,屏幕上会有15个以上的通知,需要手动关闭,这有点烦人,而且根本不是用户友好的。

我的问题是现在是否有办法只发布声音通知?或者确保在弹出新的通知时删除之前的通知,或者在应用程序处于后台时是否有不同的/更好的方法来实现获取“声音指示符”的功能?

希望有人可以提供一些经验或一个好主意替代:) 提前谢谢。

1 个答案:

答案 0 :(得分:1)

我无法确定这实际上有多好用,但如果您在创建它们时将UILocalNotification对象上的 alertBody 属性设置为nil(这是默认值),它应该可以防止当你开火时屏幕上出现警报。

此外,您可能还想将 hasAction 属性设置为NO,这会阻止用户看到操作按钮(如果您有警报)或滑块(如果他们有设备已锁定)。

但至于实际的堆叠通知提醒 - 我不相信有任何方法可以阻止它们堆叠。这可能值得为雷达提升,因此Apple可以考虑允许在未来的iOS版本中实现这一点。