是否可以更改UILocalNotification的显示持续时间?

时间:2013-12-18 05:53:27

标签: ios notifications uilocalnotification

我需要显示一个本地通知,并让它在屏幕上保留的时间超过默认的4-5秒,最好是应用程序本身删除它。我已经看到其他应用程序(例如Pandora)设法以某种方式设置(可能是推送通知?),但我在UILocalNotificationUIApplication方法中找不到持续时间属性,例如{{1} },presentLocalNotificationNow:等。the documentation或我发现的任何教程都没有解决显示时间问题。这是否是本地通知无法完成的事情?

1 个答案:

答案 0 :(得分:2)

这里有几个解决方案,我也不建议:

1-您可以要求用户转到设置&gt; <通知中心>你的应用。并将警报样式从横幅(默认)更改为警报。这将向用户显示类似于应用程序位于前台时显示的警报的警报。用户必须关闭警报而不是刚出现/消失的横幅样式通知。除非这是一个企业应用程序,并且你有用户购买,我不会去那条路,因为这可能会惹恼用户。

2-我测试了声音片段方法,是的,如果你用剪辑&lt; 30秒;通知将保留在(屏幕顶部)屏幕上,直到声音片段播放完毕。话虽如此,如果用户点击任何音量按钮(例如减少声音),通知即使在结束之前立即被解雇!我认为,虽然通知的目的是温和的提醒,持续超过典型的4-5秒违背常规,它可能会惹恼用户(或者用户可能会认为某些东西被卡住,手机冻结等等) )。无论如何这是代码:

UILocalNotification *howLongCanANotificationLast = [[UILocalNotification alloc]init];
howLongCanANotificationLast.alertBody=@"I am a notification";
howLongCanANotificationLast.soundName=@"musicfilename.mp3";
[[UIApplication sharedApplication] presentLocalNotificationNow:howLongCanANotificationLast];

希望这有帮助。