关闭

iOS 本地推送 UILocalNotification

标签: iOS本地推送UILocalNotification
1003人阅读 评论(2) 收藏 举报
分类:

创建通知

UILocalNotification *notification = [[UILocalNotification alloc] init];
    if (notification)
    {
        NSDate *now = [NSDate new];
        notification.fireDate = [now dateByAddingTimeInterval:10]; //10秒后通知
        notification.repeatInterval=0; //重复次数,kCFCalendarUnitWeekday一周一次
        notification.timeZone = [NSTimeZone defaultTimeZone]; //设置时区
        notification.applicationIconBadgeNumber = 1; //应用的角标
        notification.soundName = UILocalNotificationDefaultSoundName; //声音,可以换成alarm.soundName = @"sound.wav"
        //去掉下面2行就不会弹出提示框
        notification.alertBody = @"通知内容"; //提示信息 弹出提示框
        notification.alertAction = @"打开"; //提示框按钮
        //notification.hasAction = NO; //是否显示额外的按钮,为no时alertAction消失
        NSDictionary *infoDict = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"];
        //设置userinfo 方便在之后需要撤销的时候使用 也可以传递其他值,当通知触发时可以获取
        notification.userInfo = infoDict;
        
        [[UIApplication sharedApplication] scheduleLocalNotification:notification];
    }


推送的内容

//推送的内容
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification
{


    //这里,你就可以通过notification的useinfo,干一些你想做的事情了
    if ([[notification.userInfo objectForKey:@"key"] isEqualToString:@"value"])
    {
           UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"系统提示" message:@"你的系统存在严重威胁" delegate:nil cancelButtonTitle:@"关闭" otherButtonTitles:nil,nil];
           [alert show];
        
    }
    application.applicationIconBadgeNumber = 0; //移除角标
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    //不通过推送 通过应用图标打开应用 移除角标
    application.applicationIconBadgeNumber = 0;
}

取消通知

//获取当前所有的本地通知
    NSArray *notificaitons = [[UIApplication sharedApplication] scheduledLocalNotifications];
    if (!notificaitons || notificaitons.count <= 0)
    {
        return;
    }
    //取消一个特定的通知
    for (UILocalNotification *notify in notificaitons)
    {
        if ([[notify.userInfo objectForKey:@"key"] isEqualToString:@"value"])
        {
            [[UIApplication sharedApplication] cancelLocalNotification:notify];
            break;
        }
    }
    
//    //取消所有的本地通知
//    [[UIApplication sharedApplication] cancelAllLocalNotifications];



0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

记录下自己是怎么实现本地推送(LocalNotification)的,以及播放声音、振动的实现

本地推送scheduleLocalNotification 播放系统声音+振动,循环播放-----停止播放
  • u012877287
  • u012877287
  • 2017-01-12 17:45
  • 715

iOS本地推送通知UILocalNotification(可以用做类似闹钟提醒)

在做项目的时候遇到这样一个需求,写一个备忘录,可以设定闹钟提醒。 然后闹钟提醒怎样做,查了查查到的都是使用本地通知,然后就使用UILocalNotification实现的功能 使用UI...
  • G_eorge
  • G_eorge
  • 2016-03-17 17:40
  • 1154

iOS 推送通知:本地通知(UILocalNotification)和远程通知(APNs)详解

——本地推送通知推送通知的作用?在App退到后台或者完全退出时,可以使用通知来告诉用户某件事情,比如推送新的聊天消息、新闻等通知对应的效果: 在主屏幕的顶端会出现通知消息 当手机锁屏时出现在锁屏界面,...
  • vbirdbest
  • vbirdbest
  • 2016-10-14 12:43
  • 3430

iOS 10.0之前和之后的Local Notification有神马不同

在iOS 10.0之前apple还没有将通知功能单独拿出来自成一系.而从10.0开始原来的本地通知仍然可用,只是被标记为过时.于是乎我们可以使用10.0全新的通知功能.别急…让我们慢慢来,先从iOS ...
  • mydo
  • mydo
  • 2016-10-13 17:28
  • 1750

iOS开发——在特定时间、任意时间做本地推送UILocalNotification

当需要发送一个本地推送的时候,我们需要为其设置fireTime即发送时间,网上好多示例代码只是简单地将一个类似10秒之后的时间设上去,但我们可能更需要在自定义或用户定义的某个特定的时间发送,其实这也不...
  • u013604612
  • u013604612
  • 2014-12-30 22:40
  • 5054

IOS本地推送通知的一些属性 UILocalNotification

一些本地推送通知的属性介绍: //设置通知发出的时间 @property(nonatomic,copy) NSDate *fireDate; //设置时区,默认是本机设置国家的时区 @proper...
  • github_32459111
  • github_32459111
  • 2016-04-24 16:52
  • 349

iOS本地通知推送使用:UILocalNotification

在iOS下应用分为两种不同的Notification种类,本地和远程。本地的Notification由iOS下NotificationManager统一管理,只需要将封装好的本地Notificatio...
  • wgc034
  • wgc034
  • 2016-03-14 10:01
  • 293

关于本地推送的使用处理UILocalNotification

UILocalNotification有些时候我们需要处理一些本地推送,小细节的处理.//判断他不在前台活跃的时候才发推送 if ([UIApplication sharedApplication]...
  • qq_30735947
  • qq_30735947
  • 2017-11-29 18:30
  • 57

iOS实现服务器原生推送

iOS原生实现推送 一、iOS推送机制 Provider是给你手机应用发出推送消息的服务器,而APNS(Apple Push Notification Service)则是苹果消息推送服务器...
  • sinat_34380438
  • sinat_34380438
  • 2016-12-12 14:14
  • 2013

iOS远程消息推送(信鸽推送平台)

首先进入信鸽推送平台网站,登录, 下载iOS SDK文档,解压文件,将demo文件夹下面的sdk文件拖入工程中. 在苹果开发者网站,创建自己的APP id ,推送证书,描述文件.  详情见推送平台的文...
  • qiyexiluo
  • qiyexiluo
  • 2016-08-13 15:58
  • 1426
    个人资料
    • 访问:221417次
    • 积分:2960
    • 等级:
    • 排名:第13790名
    • 原创:99篇
    • 转载:63篇
    • 译文:1篇
    • 评论:23条
    博客专栏