iOS之点击通知栏的通知进入程序的触发事件

 更新时间:2017年02月23日 16:19:29   作者:Jaycee麦子  
本文主要介绍了iOS中点击通知栏的通知进入程序的触发事件的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧

点击通知栏的通知进入程序时,会触发App Delegate里的方法,分为以下两种情况:

1、程序未启动(即底部任务栏里没有进程)时:

此种情况下,点击通知栏的通知进入程序,会触发以下方法

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

对于launchOptions参数,需要经过以下处理:

NSDictionary* pushNotificationKey = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 

其中的pushNotificationKey才是从服务端推送过来的数据,使用键值对方式就可以读取服务器传递过来的额外参数了。

应用还没有加载,这时如果点击通知的显示按钮,会调用didFinishLaunchingWithOptions,不会调用didReceiveRemoteNotification方法。如果点击通知的关闭按钮,再点击应用,只会调用didFinishLaunchingWithOptions方法。

2、程序已启动:

如果程序已经启动,并驻留在内存中,不管程序是在前台(Foreground)还是在后台(Background),如果点击通知栏的通知进入程序将触发以下方法:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 

其中的userInfo参数,就已经是服务端推送过来的数据,也是采用键值对方式进行读取。

如果点击关闭再点击应用,则上面两个方法都不会被调用这时,只能在applicationWillEnterForeground或者applicationDidBecomeActive,根据发过来通知中的badge进行判断是否有通知,然后发请求获取数据

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • iOS安全防护系列之字符串及系统函数隐藏详解

    iOS安全防护系列之字符串及系统函数隐藏详解

    这篇文章主要给大家介绍了关于iOS安全防护系列之字符串及系统函数隐藏的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • iOS之UIWebView无法获取web标题的解决方法

    iOS之UIWebView无法获取web标题的解决方法

    这篇文章主要为大家详细介绍了iOS之UIWebView无法获取web标题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • iOS推送增加右侧显示图Service Extension

    iOS推送增加右侧显示图Service Extension

    这篇文章主要为大家介绍了iOS推送增加右侧显示图Service Extension,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 实例讲解iOS中的CATransition转场动画使用

    实例讲解iOS中的CATransition转场动画使用

    CATransition类为应用程序的转场动画提供了很多可控制参数,接下来我们就以几个实例讲解iOS中的CATransition转场动画使用,需要的朋友可以参考下
    2016-06-06
  • IOS应用程序多语言本地化的两种解决方案

    IOS应用程序多语言本地化的两种解决方案

    本篇文章介绍了IOS应用程序多语言本地化解决方案,这里整理了详细的解决办法,有需要的小伙伴可以参考下。
    2016-11-11
  • iOS NSURLProtocol的具体使用方法详解

    iOS NSURLProtocol的具体使用方法详解

    本篇文章主要介绍了iOS NSURLProtocol的具体使用方法详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 解决ios模拟器不能弹出键盘问题的方法

    解决ios模拟器不能弹出键盘问题的方法

    这篇文章主要为大家详细介绍了解决ios模拟器不能弹出键盘问题的方法,大多数原因是误用了快捷键,如何解决?感兴趣的小伙伴们可以参考一下
    2016-03-03
  • iOS 原生地图地理编码与反地理编码(详解)

    iOS 原生地图地理编码与反地理编码(详解)

    下面小编就为大家带来一篇iOS 原生地图地理编码与反地理编码(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • iOS 实现模糊搜索的功能

    iOS 实现模糊搜索的功能

    模糊搜索的实现思路是当搜索框开始编辑时对搜索框中的文本与后台给的资源相对比,包含搜索文本的展示在tableview中
    2016-12-12
  • 详解IOS串行队列与并行队列进行同步或者异步的实例

    详解IOS串行队列与并行队列进行同步或者异步的实例

    这篇文章主要介绍了详解IOS串行队列与并行队列进行同步或者异步的实例的相关资料,IOS中GCD的队列分为串行队列和并行队列,任务分为同步任务和异步任务,他们的排列组合有四种情况这里就一一分析下,需要的朋友可以参考下
    2017-07-07

最新评论