使用应用程序 didReceiveRemoteNotification 处理程序获取推送通知消息

Posted

技术标签:

【中文标题】使用应用程序 didReceiveRemoteNotification 处理程序获取推送通知消息【英文标题】:using the app didReceiveRemoteNotification handler to get the push notification message 【发布时间】:2012-07-31 21:45:19 【问题描述】:

是否可以使用此应用程序的实现接收远程通知方法来获取通过远程通知向用户显示的消息?

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

        NSString *message;
        // code to set the string "message" to the remote notification's message...

【问题讨论】:

【参考方案1】:

我知道这是一个老问题,但我一直在绞尽脑汁试图解决这个问题,所以我想我会分享这些知识以节省其他人的时间。

首先,您应该为您的文本创建一个 NSString 引用,以便您以后可以快速访问它。为此:

NSString *alertMessage = [[userInfo objectForKey:@"aps"] objectForKey:@"alert"];

如果您需要为本地通知执行此操作,您可以执行以下操作:

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification 
NSDictionary *dict = [notification userInfo];

NSString *alertMessage = [[dict objectForKey:@"aps"] objectForKey:@"alert"];

//Do something here

【讨论】:

【参考方案2】:

您可以通过访问在 userInfo 字典中解析的 JSON 来获取它,如果您像这样打印出您的 userInfo Dicitonary 对象:

NSLog(@"userInfo: %@", userInfo);

您将获得所需的所有信息。

【讨论】:

以上是关于使用应用程序 didReceiveRemoteNotification 处理程序获取推送通知消息的主要内容,如果未能解决你的问题,请参考以下文章

应用程序加载器使用 Signiant 成功,但使用 DAV 失败

如何使用 swift 在应用程序委托函数中使用 toast 方法

如何使用 Innosetup 创建不应使用添加/删除程序注册应用程序的安装程序?

如何使用Helm更新使用ConfigMap的应用程序

如何区分通过我的应用程序保存的事件和使用 EventKit 使用日历应用程序保存的事件?

如何使用 Vue 2 构建简单的单页应用程序