我想阅读与我的应用相关的所有通知,这些通知都会在打开应用时显示在通知中心。请建议我任何想法。 我试过了,
UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
但它只返回一个选定的通知。
答案 0 :(得分:3)
[launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]
将返回导致您的申请开始的通知
因此,如果您收到推送通知,并从SpiringBoard打开申请,则[launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]
将为nil
。
这意味着如果用户没有使用推送通知打开应用程序,则应用程序将不知道所接收的推送通知。
所以答案是 - 没有办法。
修改强>
基本上,如果您使用本地通知,则可以将预定通知([UIApplication scheduledLocalNotifications]
)保存到文件/服务器中,然后将预定通知与保存的文件进行比较。在这种情况下,您将知道传递了哪些通知。
答案 1 :(得分:1)
您无法在iOS设备上本地阅读所有等待通知。如果用户选择一个打开应用程序,您可以在所选信息上发送信息。 (使用您显示的代码)
通常,您要做的是维护与服务器上的设备ID绑定的已发送通知的列表(您应该已经拥有此通知,因为需要发送通知。您需要查询服务器以获取要在您的应用中显示的已发送通知列表。