【问题标题】:using the app didReceiveRemoteNotification handler to get the push notification message使用应用程序 didReceiveRemoteNotification 处理程序获取推送通知消息
【发布时间】: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...
}
【问题讨论】:
标签:
objective-c
notifications
push-notification
apple-push-notifications
【解决方案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);
您将获得所需的所有信息。