如何更改本地通知的声音名称?

时间:2011-11-07 05:14:16

标签: iphone uiviewcontroller uibutton uilocalnotification

我有一个应用程序,其中我有按钮。当我点击按钮然后生成本地通知。本地通知的变量在appDelegate文件中设置。为了生成本地通知,我使用了以下代码: -

  

UILocalNotification * ln = [[UILocalNotification alloc] init];               ln.alertBody = @“另一杯咖啡的时间!”;               ln.applicationIconBadgeNumber = 1;               ln.fireDate = notification_date; // [NSDate dateWithTimeIntervalSinceNow:15];               ln.timeZone = [NSTimeZone timeZoneWithAbbreviation:@“GMT”];               NSString * string_date = [formatter stringFromDate:notification_date];               NSDateFormatter * formatter_alarm = [[[NSDateFormatter alloc] init] autorelease];               formatter_alarm.timeZone = [NSTimeZone timeZoneWithAbbreviation:@“GMT”];               [formatter_alarm setDateFormat:@“hh:mm a”];               NSString * str = [formatter_alarm stringFromDate:notification_date];               appDelegate.alarm_time = [NSString stringWithFormat:@“%@”,str];               的NSLog(@ “%@”,appDelegate.alarm_time);

        [[NSUserDefaults standardUserDefaults] setObject:appDelegate.alarm_time forKey:@"alarm_on_time"];
        [[NSUserDefaults standardUserDefaults] setObject:string_date forKey:@"alarm_on_date"];
         [[NSUserDefaults standardUserDefaults] synchronize]; 
        NSLog(@"alarm will activate on%@",notification_date);
        ln.soundName = @"alarm.wav";
        AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);

        ln.repeatInterval=NSDayCalendarUnit;
        [[UIApplication sharedApplication] scheduleLocalNotification:ln];

// if(appDelegate.appDelegate_notification == nil) // appDelegate.appDelegate_notification = [[UILocalNotification alloc] init];             appDelegate.appDelegate_notification = LN;             [发布];

现在我有另一个按钮,用于更改本地通知的声音。我想,当用户点击该按钮然后更改本地通知的声音。为此,我使用此代码: -

  

appDelegate.appDelegate_notification.soundName = @“Blow.wav”;

现在的问题是,当我点击另一个按钮时,本地通知的声音不会改变。如何在按钮上点击该事件?

谢谢你的进步......

1 个答案:

答案 0 :(得分:1)

当我们生成任何本地通知时,我们可以在那时设置声音文件。如果我们想在设置通知后设置声音,那么我只能在这里分享一种方式。当我们编辑任何警报声时,首先我们必须保存警报的起火日期,然后我们将取消该警报并设置具有相同发射日期的新警报anad这次我们将传递新的声音文件。我用它并且工作正常。