是否有可能改变UILocalNotification的显示持续时间?

我需要显示本地通知,并保持在屏幕上比默认的4-5秒,最好是直到应用程序本身删除它。 我见过其他的应用程序(例如潘多拉)可以做到这一点(也许是一个推送通知?),但我可以findUILocalNotificationUIApplication方法,如presentLocalNotificationNow:scheduleLocalNotification:等没有持续时间属性。无论是文档还是我发现的任何教程都能够解决显示时间问题。 这是用本地通知不能完成的事情吗?

一些解决scheme在这里,我不会build议:

1-您可以请求用户转到设置>通知中心>您的应用程序。 并将提醒样式从横幅(默认)更改为警报。 这将向用户呈现类似于当应用在前景中时呈现的警报的警报。 用户将不得不closures警报,而只是出现/消失的横幅样式通知。 除非这是一个公司的应用程序,你有用户购买,我不会走这条路线,因为这可能会惹恼用户。

2 – 我testing了声音剪辑方法,是的,如果你用剪辑呈现一个通知<30秒; 通知将保持在屏幕的(顶部),直到声音片段播放完毕。 话虽如此,如果用户点击任何音量button(例如减less声音),即使在结束之前,通知立即被解散! 我想虽然这个通知的目的是温和的提醒,而且比典型的4-5秒更符合规范,可能会惹恼用户(或者用户可能会认为有东西卡住,电话冻结等等)。 )。 无论如何,这是代码:

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

希望这可以帮助。