iOS本地通知声音在锁定屏幕上重叠

问题描述

我正在研究警报应用程序。我曾使用本地通知来通知用户,当应用程序处于前台或后台时,它可以正常工作,但是当我此时锁定屏幕时,通知到达但通知声音重叠。重叠的问题仅在设备锁定时发生。

我指的是Alarmy应用,即使在设备处于静音模式时也可以播放声音,它在相同情况下仍可以正常运行。

我也曾推荐过与question相关的Alarmy App,但它没有帮助我。

我被困在这个问题上,不知道该怎么办,因为当屏幕未锁定时,它的播放声音没有重叠。当本地通知到达时,我无法通过代码播放任何声音,铃声完全取决于本地通知。

下面是我用来设置本地通知的代码,

func add(alarm: Alarm) -> Void {
    UNUserNotificationCenter.current().removeAllDeliveredNotifications()
    UNUserNotificationCenter.current().removeAllPendingNotificationRequests()
    
    let identifier = "\(alarm.id)"
    let content = UNMutableNotificationContent() 
    content.title = applicationName
    content.body = alarm.label
    content.categoryIdentifier = identifier
    var dict = [String: Any]()
    dict["id"] = alarm.id
    dict["sun"] = alarm.sun
    content.userInfo = dict
    content.sound = UNNotificationSound.init(named: UNNotificationSoundName.init("\(alarm.soundName).wav"))
    
    let interval = Date.init(timeIntervalSinceReferenceDate: TimeInterval.init(alarm.time))
    var i = interval.timeIntervalSince(Date())
    if i < 0 {
        i = 1
    }
    
    for t in 1...60 {
        let triggers = UNTimeIntervalNotificationTrigger.init(timeInterval: i + 6,repeats: false)
        let requests = UNNotificationRequest.init(identifier: "kathla\(t)",content: content,trigger: triggers)
        UNUserNotificationCenter.current().add(requests) { (error) in
            if let error = error {
                print(error.localizedDescription)
            }
        }
        i = i + 5
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...