UILocalNotification后台事件触发暂停iOS中的音乐

时间:2013-03-11 05:03:02

标签: ios cocoa-touch uilocalnotification

当UILocalNotification事件触发时,我需要暂停播放音乐。

有人建议我使用以下代码。

您可以看到我的帖子Here

这是代码

- (void)btnSetupNotificationClicked:(id)sender
{
    UILocalNotification* pOrderCompletedNotification=[[UILocalNotification alloc] init];
    if(pOrderCompletedNotification!=nil)
    {
        [pOrderCompletedNotification setFireDate:[[NSDate alloc] initWithTimeIntervalSinceNow:5.00]];
//      [pOrderCompletedNotification setApplicationIconBadgeNumber:1];
        [pOrderCompletedNotification setTimeZone:[NSTimeZone systemTimeZone]];
        [pOrderCompletedNotification setSoundName:@"OrderCompleted.m4a"];
        [pOrderCompletedNotification setAlertBody:@"Order Completed"];
        [pOrderCompletedNotification setAlertAction:nil];
        [pOrderCompletedNotification setHasAction:NO];

        UIApplication* pApplication=[UIApplication sharedApplication];
        if(pApplication!=nil)
        {
            [pApplication scheduleLocalNotification:pOrderCompletedNotification];
        }
        else
        {
            NSLog(@"Application singleton allocation error.");
        }

        [pOrderCompletedNotification release];
        [pApplication release];
    }
    else
    {
        NSLog(@"Local notification creation error.");
    }   // if
}

但我不知道在这些方法中我应该在哪里编写self.player pause代码? 我是否需要在AppDelegate中连接以下代码?

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
    NSLog(@"EVENT from Notification");
}

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您的播放器对象应该在您的AppDelegate 文件中声明,以便在通知触发时您可以使用self.player对象并暂停音乐

答案 1 :(得分:0)

AFAIK,您应该在方法

中进行必要的编码
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
只要用户收到通知,就会调用

。设备收到通知时不会触发任何事件。这是打开收到的通知时被触发的唯一事件。