iPhone如何以编程方式访问通知中心

根据Apple指南:

如果在运行iOS的设备上点击了应用程序图标,则该应用程序将调用相同的方法,但不提供有关通知的信息。如果在运行计算机上单击应用程序图标

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction.html#//apple_ref/doc/uid/TP40008194

据我所知,当点击应用程序图标时,似乎无法检测到通知。

因此,我尝试以编程方式检索通知中心,但这似乎是不可能的。

是否不可能以编程方式检索通知中心?

我想做的是检测即使应用程序在后台时是否收到通知。

加布里埃·彼得罗内拉

是否不可能以编程方式检索通知中心?

不,任何公共API都不可能。

您的应用与通知中心的当前状态无关,因为它们是两个分离的实体。

无论如何,正如AdamG指出的那样,您可以在iOS 7中实施

application:didReceiveRemoteNotification:fetchCompletionHandler:

根据文档说明,无论您的应用程序处于什么状态(即使它没有运行或在后台运行),都会调用函数。

为了使用它,您必须支持remote-notification后台模式。就是这样:

在Xcode 5和更高版本中,您可以从项目设置的“功能”选项卡中声明应用程序支持的后台模式。启用“后台模式”选项,会将UIBackgroundModes键添加到应用程序的Info.plist文件中。选择一个或多个复选框会将相应的背景模式值添加到该键。

现在,尽管您仍然无法以编程方式访问通知中心,但是可以在通知到来时对其进行跟踪。

模拟的实现将如下所示:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    // Hey we got a notification!
    // Now we have 30 seconds to do whatever we like...
    // ...and then we have to call the completion handler
    completionHandler(UIBackgroundFetchResultNoData);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何以编程方式访问ActionErrors?

来自分类Dev

如何以编程方式访问“保存的查询”?

来自分类Dev

如何以编程方式访问约束数据?

来自分类Dev

如何以编程方式在iPhone上启用引导访问(信息亭模式)?

来自分类Dev

如何以编程方式将 TextView 与 ImageView 的中心对齐?

来自分类Dev

如何以编程方式知道任何文件是否加密?-iPhone

来自分类Dev

如何以编程方式关闭Chrome通知而无需清除

来自分类Dev

如何以编程方式播放Android NFC通知声音?

来自分类Dev

如何以编程方式播放Android NFC通知声音?

来自分类Dev

如何以编程方式关闭notify.js通知?

来自分类Dev

SAPUI5:如何以编程方式访问ODataModel数据?

来自分类Dev

如何以编程方式访问使用<ui:define>创建的内容?

来自分类Dev

如何以编程方式访问coverage.py结果?

来自分类Dev

如何以编程方式访问DataTemplate的关联dataType?

来自分类Dev

如何以编程方式访问spring.application.instance_id?

来自分类Dev

如何以编程方式访问(封闭用户组)?

来自分类Dev

如何以编程方式访问EntityDataSource所选数据

来自分类Dev

如何以编程方式访问键盘快捷键

来自分类Dev

如何以编程方式访问Windows计算机的区域?

来自分类Dev

如何以编程方式调用/访问按钮操作中的标签?

来自分类Dev

Flexdashboard、rhandsontable:如何以编程方式访问用户更新的表?

来自分类Dev

如何以编程方式区分iPhone和iPhone(Retina 3.5英寸)?

来自分类Dev

如何以编程方式检测iPhone 6或iPhone 6 Plus视图大小模式

来自分类Dev

如何以编程方式在IOS 8中找到游戏中心朋友

来自分类Dev

如何以编程方式将iAd标语添加到屏幕的顶部中心?

来自分类Dev

以编程方式显示控制中心和通知中心

来自分类Dev

如何以编程方式检查设备上是否已安装“ iPhone设备配置文件”

来自分类Dev

如何以编程方式检测iPhone 6和6 Plus视图模式

来自分类Dev

如何以编程方式增加iPhone中的UITableView单元格的高度?

Related 相关文章

  1. 1

    如何以编程方式访问ActionErrors?

  2. 2

    如何以编程方式访问“保存的查询”?

  3. 3

    如何以编程方式访问约束数据?

  4. 4

    如何以编程方式在iPhone上启用引导访问(信息亭模式)?

  5. 5

    如何以编程方式将 TextView 与 ImageView 的中心对齐?

  6. 6

    如何以编程方式知道任何文件是否加密?-iPhone

  7. 7

    如何以编程方式关闭Chrome通知而无需清除

  8. 8

    如何以编程方式播放Android NFC通知声音?

  9. 9

    如何以编程方式播放Android NFC通知声音?

  10. 10

    如何以编程方式关闭notify.js通知?

  11. 11

    SAPUI5:如何以编程方式访问ODataModel数据?

  12. 12

    如何以编程方式访问使用<ui:define>创建的内容?

  13. 13

    如何以编程方式访问coverage.py结果?

  14. 14

    如何以编程方式访问DataTemplate的关联dataType?

  15. 15

    如何以编程方式访问spring.application.instance_id?

  16. 16

    如何以编程方式访问(封闭用户组)?

  17. 17

    如何以编程方式访问EntityDataSource所选数据

  18. 18

    如何以编程方式访问键盘快捷键

  19. 19

    如何以编程方式访问Windows计算机的区域?

  20. 20

    如何以编程方式调用/访问按钮操作中的标签?

  21. 21

    Flexdashboard、rhandsontable:如何以编程方式访问用户更新的表?

  22. 22

    如何以编程方式区分iPhone和iPhone(Retina 3.5英寸)?

  23. 23

    如何以编程方式检测iPhone 6或iPhone 6 Plus视图大小模式

  24. 24

    如何以编程方式在IOS 8中找到游戏中心朋友

  25. 25

    如何以编程方式将iAd标语添加到屏幕的顶部中心?

  26. 26

    以编程方式显示控制中心和通知中心

  27. 27

    如何以编程方式检查设备上是否已安装“ iPhone设备配置文件”

  28. 28

    如何以编程方式检测iPhone 6和6 Plus视图模式

  29. 29

    如何以编程方式增加iPhone中的UITableView单元格的高度?

热门标签

归档