IOS - 本地推送的使用
(2014-03-26 16:17:35)
标签:
ios-本地推送的使用it |
分类: Mac/IOS那些事 |
-
第一步:创建本地推送
-
//
创建一个本地推送 -
UILocalNotification
*notification = [[[UILocalNotification alloc] init] autorelease]; -
//设置10秒之后
-
NSDate
*pushDate = [NSDate dateWithTimeIntervalSinc eNow:10]; -
if
(notification != nil) { -
// 设置推送时间 -
notification.fireDate = pushDate; -
// 设置时区 -
notification.timeZone = [NSTimeZone defaultTimeZone]; -
// 设置重复间隔 -
notification.repeatInterval = kCFCalendarUnitDay; -
// 推送声音 -
notification.soundName = UILocalNotificationDefau ltSoundName; -
// 推送内容 -
notification.alertBody = @"推送内容"; -
//显示在icon上的红色圈中的数子 -
notification.applicationIconBadgeNumb er = 1; -
//设置userinfo 方便在之后需要撤销的时候使用 -
NSDictionary *info = [NSDictionary dictionaryWithObject:@"name"forKey:@"key"]; -
notification.userInfo = info; -
//添加推送到UIApplication -
UIApplication *app = [UIApplication sharedApplication]; -
[app scheduleLocalNotificatio n:notification]; -
-
}
-
-
第二步:接收本地推送
-
-
(void)application:(UIApplication *)application didReceiveLocalNotificat ion:(UILocalNotification*)notification{ -
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"iWeibo" message:notification.alertBody delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil]; -
[alert show]; -
// 图标上的数字减1 -
application.applicationIconBadgeNumb er -= 1; -
}
-
-
第三步:解除本地推送
-
//
获得 UIApplication -
UIApplication
*app = [UIApplication sharedApplication]; -
//获取本地推送数组
-
NSArray
*localArray = [app scheduledLocalNotificati ons]; -
//声明本地通知对象
-
UILocalNotification
*localNotification; -
if
(localArray) { -
for (UILocalNotification *noti in localArray) { -
NSDictionary *dict = noti.userInfo; -
if (dict) { -
NSString *inKey = [dict objectForKey:@"key"]; -
if ([inKey isEqualToString:@"对应的key值"]) { -
if (localNotification){ -
[localNotification release]; -
localNotification = nil; -
} -
localNotification = [noti retain]; -
break; -
} -
} -
} -
-
//判断是否找到已经存在的相同key的推送 -
if (!localNotification) { -
//不存在初始化 -
localNotification = [[UILocalNotification alloc] init]; -
} -
-
if (localNotification) { -
//不推送 取消推送 -
[app cancelLocalNotification:localNotification]; -
[localNotification release]; -
return; -
} -
}
-
文章地址
http://blog.csdn.net/l_ch_g/article/details/8767402
前一篇:iOS/mac - 学习博客集锦