iOS实例 实现本地通知

iOS实例 实现本地通知是本文要介绍的内容,在iOS实现本地通知这篇文章中,介绍了通知的定义和最简单的实现。下面我将介绍一个比较复杂一点的例子,实现的效果如下:

iOS实例 实现本地通知

开启通知。

iOS实例 实现本地通知

通知的内容。

iOS实例 实现本地通知

通知的次数。

下面是具体的实现:

首先是通知次数取消:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {      


      


    // Override point for customization after application launch.   


    /////////////   



    application.applicationIconBadgeNumber = 0;   



    // Add the view controller’s view to the window and display.   


    [self.window addSubview:viewController.view];   


    [self.window makeKeyAndVisible];  


 


    return YES;   


}  

通知的具体实现:

#pragma mark –   


#pragma mark onChageValue   


-(IBAction)onChangeValue:(id)sender   


{   



    UISwitch *switch1=(UISwitch *)sender;   



    if (switch1.on) {   



        UILocalNotification *notification=[[UILocalNotification alloc] init];   




        NSDate *now1=[NSDate date];    




        notification.timeZone=[NSTimeZone defaultTimeZone];   




        notification.repeatInterval=NSDayCalendarUnit;   




        notification.applicationIconBadgeNumber = 1;   




        notification.alertAction = NSLocalizedString(@"显示", nil);   



        switch (switch1.tag) {   


            case 0:   


            {   



                notification.fireDate=[now1 dateByAddingTimeInterval:10];   




                notification.alertBody=self.myLable1.text;   



            }   


                break;   


            case 1:   


            {   



                notification.fireDate=[now1 dateByAddingTimeInterval:20];   




                notification.alertBody=self.myLable2.text;   



            }   


                break;   


            case 2:   


            {   



                notification.fireDate=[now1 dateByAddingTimeInterval:30];   




                notification.alertBody=self.myLable3.text;   



            }   


                break;   


            default:   


                break;   


        }   


        [notification setSoundName:UILocalNotificationDefaultSoundName];   



        NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:   



                              [NSString stringWithFormat:@"%d",switch1.tag], @"key1", nil];   


        [notification setUserInfo:dict];   


        [[UIApplication sharedApplication]   scheduleLocalNotification:notification];   


    }else {   



        NSArray *myArray=[[UIApplication sharedApplication] scheduledLocalNotifications];   




        for (int i=0; i<[myArray count]; i++) {   




            UILocalNotification    *myUILocalNotification=[myArray objectAtIndex:i];   



            if ([[[myUILocalNotification userInfo] objectForKey:@"key1"] intValue]==switch1.tag) {   


                [[UIApplication sharedApplication] cancelLocalNotification:myUILocalNotification];   


            }   


        }   


    }   


} 

源代码:http://easymorse-iphone.googlecode.com/svn/trunk/iphone.localnotification/

相关推荐