iOS实现本地通知.

 

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

image

开启通知。

image

通知的内容。

image

通知的次数。

下面是具体的实现:

首先是通知次数取消:

– (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/

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注