如果应用程序未运行并播放 iPod 音乐和播放无线电流 url,我会使用UILocalNotification
它来提醒用户。MPMusicPlayerController
MPMoviePlayerController
根据 Apple doc:如果 iphone 被锁定并且设备收到本地通知,那么它将播放 30 秒的声音,当用户滑动滑块时,它将把应用程序置于前台并发生两种情况
如果 App 未运行,则调用方法
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
如果 App 已经在运行,则调用方法 -
(void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notify
我可以用这些方法执行我的任务。
问题:当 iPhone 被锁定并且收到本地通知并且应用程序在前台运行时,我需要我的应用程序能够播放我的声音(可能是 iPod 音乐或流 url,但不是本地通知声音 30 秒)。
参考应用程序:“闹钟高清”和应用程序商店中也提供的其他应用程序以这种方式工作正常,但是当应用程序在后台运行时这些无法播放警报(我不明白为什么???)
我还尝试 了 how-to-prevent-iphone-from-deep-sleeping:
通过定期播放无声音乐来防止 iPhone 进入深度睡眠,但是如何通知应用程序收到通知以便开始播放“实际音乐”?以及如何开始播放新音乐?