Bar*_*erk 5 apple-push-notifications ios
我有一个iOS 5.1应用程序,它注册到APNS服务以接收通知.注册成功,我正确收到通知.当我尝试处理通知时出现问题.
应用程序运行后,didReceiveRemoteNotificationAppDelegate中的方法被正确调用,因此通知按预期处理.但是,这仅在应用程序在前台运行时才会发生.
但是,当应用程序在后台运行或只是停止时,不会调用该方法.我已经读过你应该在方法didFinishLaunchingWithOptions方法中添加一些行来从userInfo字典中获取通知并处理它.这很好用,但只有在通过Notification Center点击通知打开应用程序时才可以.这意味着,如果您通过单击其徽章打开应用程序,或者只是通过更改上下文(如果您在后台运行它),该应用程序永远不会意识到已收到通知.此外,如果收到多个通知,我们可以只需点击通知中心即可立即处理其中一个,这很痛苦:-)
有没有办法在通知中心阅读待处理的通知?我知道有一种方法可以使用该方法刷新它们,cancelAllLocalNotifications但我还没有找到一种方法来读取它们.我真的需要处理所有这些问题.我想到与第三方通知服务器实现通信协议,以便在应用程序到达前台时再次检索信息,但由于信息已经在操作系统中,如果无法以某种方式访问它,我会觉得很奇怪.
那么,有人知道这样做的方法吗?提前致谢.
当推送通知到达并且用户单击“取消”时,您的应用程序无法再次读取该推送通知。您必须实现一个单独的功能(最有可能在服务器端)来获取发送到该设备的通知列表。
例如,如果您的应用程序中提供了聊天功能,并且您通过推送通知发送聊天消息,那么您还应该将聊天消息保留在服务器上。如果用户在任何推送通知上单击“取消”,则该聊天消息将不会显示在 iOS 设备上。在这种情况下,当应用程序稍后进入前台时,您可以调用服务器并获取所有过去的聊天消息(通过推送通知发送)。
| 归档时间: |
|
| 查看次数: |
2592 次 |
| 最近记录: |