0

我正在构建一个小应用程序,我可以用它来进行间隔训练,
它安排了一系列UILocalNotifications,所有时间安排在同一
时间,并且在几分钟内相互触发。

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

通知只是一个警报和一个确定按钮:

[notif setHasAction:NO];

所以想法是:戴上耳机,启动我的应用程序,它会安排一系列通知 - 然后开始 Nike +iPod 锻炼。当您听到通知声音时,从休息改为锻炼,反之亦然。

好的,当锻炼结束时,屏幕上有 15 个以上的通知,需要手动关闭它们,这有点烦人,而且一点也不友好。

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

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

4

1 回答 1

1

我无法确认这实际上效果如何,但是如果您在创建它们时将 UILocalNotification 对象上的alertBody属性设置为 nil (这是默认值),它应该会在您触发它们时防止警报出现在屏幕上.

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

但至于实际堆叠的通知警报 - 我不相信有任何方法可以防止它们被堆叠。这可能值得提高 Radar 的关注,因此 Apple 可以考虑在未来的 iOS 版本中允许这种情况发生。

于 2011-02-01T22:39:40.857 回答