ios如何在后台运行警报声

时间:2014-12-03 07:00:20

标签: ios iphone xcode ios7 ios8

我正在开发一个警报应用程序。当警报播放声音时,如果应用程序处于打开状态(前景),则执行

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

方法&警报声成功播放。

但是,如果我的应用程序处于非活动状态/后台状态,那么在播放警报声时,则不会调用上述方法。

所以有任何方法可以让我在后台播放闹钟声。目前,当我的应用程序处于后台时,通知才会到达&没有声音/歌曲正在播放。

以下是我的代码

-(void)application:(UIApplication *)application didReceiveLocalNotification(UILocalNotification *)notification
{
        musicPlayer = [MPMusicPlayerController applicationMusicPlayer];

        [musicPlayer setQueueWithItemCollection:collection];
        [musicPlayer play];

        [self showReminder:@"Alarm ON!"];
}

- (void)showReminder:(NSString *)text
{
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Alarm"
                                                        message:text delegate:self
                                              cancelButtonTitle:nil
                                              otherButtonTitles:@"Snooze",@"Ok",nil];
    [alertView show];

}

我只是想知道当应用处于非活动状态/后台时如何播放歌曲,还会显示警报以停止/延后闹钟。

请帮帮我。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

以下是我的代码,你可以尝试一下!

- (void)applicationDidEnterBackground:(UIApplication *)application{
 musicPlayer = [MPMusicPlayerController applicationMusicPlayer];

    [musicPlayer setQueueWithItemCollection:collection];
    [musicPlayer play];

    [self showReminder:@"Alarm ON!"];
 }