本地通知

本地通知创建之前需要用户授权是否可以推送通知需要在AppDelegate   中注册

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

//    通过launchOptions中携带的信息判断是点击图标还是通知进入的 

    // 注册通知。

    if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]) {

        UIUserNotificationSettings *noteSetting =[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil];

        [[UIApplication sharedApplication] registerUserNotificationSettings:noteSetting];

    }

    return YES;

}


注册成功之后创建通知


 UIUserNotificationSettings *setting = [[UIApplication sharedApplication] currentUserNotificationSettings];

//判断用户是否授权接收通知,未授权则通知不能发送,必须用户授权才能接收

    if (UIUserNotificationTypeNone != setting.types) {

        NSLog(@"授权通知");

    } else {

        NSLog(@"未授权通知去设置");

    }

    

//    使用Lable设置时间转换时间Formatter

    // 创建一个日期格式器

    //    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

    //    // 为日期格式器设置格式字符串

    //    [dateFormatter setDateFormat:@"yyyyMMdd HH:mm +0800"];

    //    // 使用日期格式器格式化日期、时间

    //    NSString *destDateString = [dateFormatter stringFromDate:selected];

    //    NSString *message =  [NSString stringWithFormat:

    //                          @"您选择的日期和时间是:%@", destDateString];

  

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

    

    localNotification.alertAction = @"标题";

    localNotification.alertBody = @"正文";

    //    设置重复时间间隔

    //    localNotification.repeatInterval = NSCalendarUnitMinute;

    //    localNotification.applicationIconBadgeNumber = 1; //图标显示通知次数

    localNotification.alertLaunchImage = @"notification.png"//打开显示的图片默认启动页

    NSLog(@"%@", selected);

    //    设置通知的时间  selected是一个NsDate类型

    localNotification.fireDate = selected;

    //    localNotification.soundName = @"m_05.wav"; //声音

    

    //添加注册通知

    UIApplication *app = [UIApplication sharedApplication];

    

    [app cancelAllLocalNotifications];

    [app scheduleLocalNotification:localNotification];

移除通知操作

    UIApplication *application =[UIApplication sharedApplication];

//    [application cancelLocalNotification:]取消指定的通知

    [application cancelAllLocalNotifications]; 

//注册完通知后接收本地通知打开,用户点击通知打开应用程序调用该方法(运行中没有退出)

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{

    

    NSLog(@"用户点击通知打开应用程序调用");

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值