首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用类似Alarmy iOS应用程序的AudioSession在后台唤醒应用程序

使用类似Alarmy iOS应用程序的AudioSession在后台唤醒应用程序
EN

Stack Overflow用户
提问于 2019-04-06 15:33:26
回答 1查看 1.6K关注 0票数 1

我正在尝试在后台唤醒应用程序。我见过一个应用程序,当本地通知到达时,它会在后台唤醒应用程序。应用程序名称为Alarmy - https://itunes.apple.com/us/app/alarmy-alarm-clock/id1163786766?mt=8

我查阅了苹果文档中的背景模式-- https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

我发现了在后台启动应用程序的一个提示--“对于音频应用程序,音频框架需要应用程序来处理一些数据。(音频应用程序包括播放音频或使用麦克风的应用程序。)”但是我没有找到任何关于这方面的技术帮助。

关于Alarmy应用,我在这里发现了两三个问题,所有的问题都说他们正在使用AVAudioSession类别播放静音。我确实试过了,但它不能帮助我在收到本地通知时唤醒应用程序。

到目前为止,我做了无声音频的无限循环,也设置了音频会话,但无法唤醒应用程序。

代码语言:javascript
复制
let audioSession = AVAudioSession.sharedInstance()
    try? audioSession.setCategory(.playback, mode: .default, options: .mixWithOthers)
    try? audioSession.setActive(true)

audioPlayer = try! AVAudioPlayer.init(contentsOf: URL.init(fileURLWithPath: Bundle.main.path(forResource: "Birthday_6", ofType: "mp3")!))
    audioPlayer?.numberOfLoops = -1
    audioPlayer?.play()

如果任何人有在AVAudioSession上唤醒定位服务等应用程序的想法,那么请让我知道。

EN

回答 1

Stack Overflow用户

发布于 2020-04-16 03:24:37

根据我的观察,报警应用程序正在设置闹钟设置的指定时间的本地通知的x编号。

当应用程序进入后台时,他们正在设置本地通知的x数量。并在应用程序进入前台时使所有未决通知无效。这是一个循环,当应用程序转到前台并返回到后台时,它将不断重复。

在终止时,它们会触发一个通知,要求用户在后台保持应用程序打开,以及前面提到的指定时间的x通知数量。

当应用程序不在前台时,在警报时间触发x数量的通知,每个通知之间有特定的时间间隔,这是正在播放的声音的长度,这为正在触发的通知的音乐或声音提供了连续性。

当闹钟启动时,如果应用程序正在运行,它会像普通闹钟一样响起,直到它被关闭。如果你在这段时间内点击了dismiss以外的任何东西,或者强制关闭了应用程序,那么前面提到的循环就会被触发,并会继续使用本地通知发出声音,直到应用程序中的dismiss按钮被点击。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55546865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档