zoukankan      html  css  js  c++  java
  • 本地通知

    本地推送通知

    • 什么是本地推送通知
      • 顾名思义,就是不需要联网就能发出的推送通知(不需要服务器的支持)
    • 本地推送通知的使用场景
      • 常用来定时提醒用户完成一些任务,比如
      • 清理垃圾、记账、买衣服、看电影、玩游戏

    2.1-如何发出本地推送通知

    • 创建本地推送通知对象

       UILocalNotification *ln = [[UILocalNotification alloc] init];
      • 设置本地推送通知属性
      • 推送通知的触发时间(何时发出推送通知)
         @property(nonatomic,copy) NSDate *fireDate;
      • 推送通知的具体内容
         @property(nonatomic,copy) NSString *alertBody;
      • 在锁屏时显示的动作标题(完整标题:“滑动来” + alertAction)
         @property(nonatomic,copy) NSString *alertAction;
      • 音效文件名
         @property(nonatomic,copy) NSString *soundName;
      • app图标数字
         @property(nonatomic) NSInteger applicationIconBadgeNumber;
    • 调度本地推送通知(调度完毕后,推送通知会在特地时间fireDate发出)

         [[UIApplication sharedApplication] scheduleLocalNotification:ln];
    • 获得被调度(定制)的所有本地推送通知
         @property(nonatomic,copy) NSArray *scheduledLocalNotifications;
      (已经发出且过期的推送通知就算调度结束,会自动从这个数组中移除)
    • 取消调度本地推送通知
         -(void)cancelLocalNotification:(UILocalNotification *)notification;
         -(void)cancelAllLocalNotifications;
    • 立即发出本地推送通知
         -(void)presentLocalNotificationNow:(UILocalNotification *)notification;

    2.2-本地推送通知的其他属性

    • 每隔多久重复发一次推送通知

      @property(nonatomic) NSCalendarUnit repeatInterval;
    • 点击推送通知打开app时显示的启动图片

       @property(nonatomic,copy) NSString *alertLaunchImage;
    • 附加的额外信息

       @property(nonatomic,copy) NSDictionary *userInfo;
    • 时区

       @property(nonatomic,copy) NSTimeZone *timeZone;

      (一般设置为[NSTimeZone defaultTimeZone],跟随手机的时区)

    2.3-点击本地推送通知

      • 当用户点击本地推送通知,会自动打开app,这里有2种情况

        • app并没有关闭,一直隐藏在后台

          • 让app进入前台,并会调用AppDelegate的下面方法(并非重新启动app)
            -(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification;
        • app已经被关闭(进程已死)

          • 启动app,启动完毕会调用AppDelegate的下面方法
            -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
            • launchOptions参数通过UIApplicationLaunchOptionsLocalNotificationKey取出本地推送通知对象
  • 相关阅读:
    一文读懂快速排序
    15道APP测试面试题分享,助攻你的面试
    APP测试之使用ADB可能遇到的错误及解决办法
    APP测试之Monkey压力测试(二)
    APP测试之Monkey压力测试(一)
    APP日志文件抓取及分析
    Linux环境安装python3
    visualvm 插件 visual gc 使用介绍
    设计模式之状态
    【深入理解JVM】:Java内存模型JMM
  • 原文地址:https://www.cnblogs.com/jinlianglu/p/6407643.html
Copyright © 2011-2022 走看看