iOS 本地推送

来源:互联网 发布:日本制造业造假知乎 编辑:程序博客网 时间:2024/04/28 12:30
 1、增加一个本地推送//设置20秒之后 NSDate *date = [NSDate dateWithTimeIntervalSinceNow:20];    //chuagjian一个本地推送    UILocalNotification *noti = [[[UILocalNotification alloc] init] autorelease];    if (noti) {        //设置推送时间        noti.fireDate = date;        //设置时区        noti.timeZone = [NSTimeZone defaultTimeZone];        //设置重复间隔        noti.repeatInterval = NSWeekCalendarUnit;        //推送声音        noti.soundName = UILocalNotificationDefaultSoundName;        //内容        noti.alertBody = @"推送内容";        //显示在icon上的红色圈中的数子        noti.applicationIconBadgeNumber = 1;        //设置userinfo 方便在之后需要撤销的时候使用        NSDictionary *infoDic = [NSDictionary dictionaryWithObject:@"name" forKey:@"key"];        noti.userInfo = infoDic;        //添加推送到uiapplication                UIApplication *app = [UIApplication sharedApplication];        [app scheduleLocalNotification:noti];      }2、程序运行时接收到本地推送消息- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification{UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"接收到本地提醒 in app"message:notification.alertBody   delegate:nil  cancelButtonTitle:@"确定"  otherButtonTitles:nil];[alert show];//这里,你就可以通过notification的useinfo,干一些你想做的事情了application.applicationIconBadgeNumber -= 1;}3、取消一个本地推送UIApplication *app = [UIApplication sharedApplication];    //获取本地推送数组    NSArray *localArr = [app scheduledLocalNotifications];        //声明本地通知对象    UILocalNotification *localNoti;        if (localArr) {        for (UILocalNotification *noti in localArr) {            NSDictionary *dict = noti.userInfo;            if (dict) {                NSString *inKey = [dict objectForKey:@"key"];                if ([inKey isEqualToString:key]) {                    if (localNoti){                        [localNoti release];                        localNoti = nil;                    }                    localNoti = [noti retain];                    break;                }            }        }                //判断是否找到已经存在的相同key的推送        if (!localNoti) {            //不存在 初始化            localNoti = [[UILocalNotification alloc] init];        }                if (localNoti && !state) {            //不推送 取消推送            [app cancelLocalNotification:localNoti];            [localNoti release];            return;        }}


0 0
原创粉丝点击