启动iOS应用时,如果将推送通知发送到设备,是否可以通知? (我想访问有效负载以从通知中检索信息)
谢谢,
答案 0 :(得分:1)
来自UIApplicationDelegate的方法可以从中查看是否收到通知
您可以在AppDelegate didFinishLaunchingWithOptions
方法中看到,如果用户使用通知启动了应用,例如
UILocalNotification *notif =
[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (localNotif) {
irLog(@"Recieved Notification");
}
对于您发布的本地通知,您可以查看此方法
- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif
对于远程通知,您可以查看此方法
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
答案 1 :(得分:1)
您应该在代码中添加以下内容:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions {
NSDictionary *remoteNotif = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];
//Accept push notification when app is not open
if (remoteNotif) {
[self handleRemoteNotification:application userInfo:remoteNotif];
return YES;
}
return YES;
}
请注意,如果通过点击通知启动应用,您将只获得推送通知有效内容。如果通过点击应用图标启动它,则无法获得有效负载。