1.AppDelegate.m里
- (void)application:(UIApplication*)application didReceiveLocalNotification:(UILocalNotification*)notification{
//如果應(yīng)用程序在前臺(tái)席纽,將應(yīng)用程序圖標(biāo)上紅色徽標(biāo)中數(shù)字設(shè)為0
application.applicationIconBadgeNumber=0;
//使用UIAlertView顯示本地通知的信息
[[[UIAlertViewalloc]initWithTitle:@"收到通知"
message:notification.alertBody
delegate:nilcancelButtonTitle:@"確定"otherButtonTitles:nil]show];
}
2.發(fā)送通知按鈕實(shí)現(xiàn)方法
if([UIApplicationinstancesRespondToSelector:@selector(registerUserNotificationSettings:)])
{
[[UIApplicationsharedApplication]registerUserNotificationSettings:[UIUserNotificationSettingssettingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSoundcategories:nil]];
}
//創(chuàng)建本地通知對(duì)象
UILocalNotification*ln = [[UILocalNotificationalloc]init];
//1.設(shè)置通知的內(nèi)容(如果此屬性不設(shè)置是不會(huì)發(fā)送通知的)
ln.alertBody=@"小明,你媽叫你回家吃飯了!";
//2.設(shè)置通知觸發(fā)的開(kāi)始時(shí)間
ln.fireDate= [NSDatedateWithTimeIntervalSinceNow:10];
//3.設(shè)置重復(fù)通知的時(shí)間,間隔
ln.repeatInterval=kCFCalendarUnitMinute;
ln.timeZone= [NSTimeZonedefaultTimeZone];
//5.設(shè)置應(yīng)用圖標(biāo)右上角的數(shù)字
ln.applicationIconBadgeNumber=3;
ln.hasAction=YES;
//6.設(shè)置點(diǎn)擊推送通知進(jìn)入界面的時(shí)候顯示,加載圖片
ln.alertLaunchImage=@"";
//8設(shè)置一些額外信息
ln.userInfo=@{@"QQ":@"55555",@"info":@"約了沒(méi)"};
//讓?xiě)?yīng)用調(diào)度通知
[[UIApplicationsharedApplication]scheduleLocalNotification:ln];
3.取消發(fā)送通知
//獲取所有處于調(diào)度中本地通知數(shù)組
NSArray*localArray = [[UIApplicationsharedApplication]scheduledLocalNotifications];
if(localArray)
{
for(UILocalNotification*notiinlocalArray)
{
NSDictionary*dict = noti.userInfo;
if(dict)
{
//如果找到要取消的通知
NSString*inKey = [dictobjectForKey:@"QQ"];
if([inKeyisEqualToString:@"55555"])
{
//取消調(diào)度該通知
[[UIApplicationsharedApplication]cancelLocalNotification:noti];//②
}
}
}
}