我对iOS推送通知有疑问。
如何知道应用未处于活动状态时收到的通知数据信息?
当应用处于活动状态时,我使用此代码来管理通知:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
UIApplicationState state = [application applicationState];
if (state == UIApplicationStateActive) {
//manage the notification...
}
}
但是,当应用程序未处于活动状态且我收到远程推送通知时,我会在用户通过通知点击打开应用程序时显示正确的视图。
答案 0 :(得分:1)
查看App Delegate方法中的launchOptions
NSDictionary
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
如果您的应用是通过推送通知打开的,则会有一个键UIApplicationLaunchOptionsRemoteNotificationKey
的对象。然后,您可以处理该对象:
NSDictionary *remoteNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (remoteNotif) {
//Handle remote notification
[self handleReceivedPush:remoteNotification];
}
handleReceivedPush:
是您需要自己编写的方法,在这里您可以决定要做什么。