远程推送通知管理

时间:2014-10-23 08:50:24

标签: ios iphone apple-push-notifications

我对iOS推送通知有疑问。

如何知道应用未处于活动状态时收到的通知数据信息?

当应用处于活动状态时,我使用此代码来管理通知:

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

    UIApplicationState state = [application applicationState];
    if (state == UIApplicationStateActive) {
//manage the notification...
       }
}

但是,当应用程序未处于活动状态且我收到远程推送通知时,我会在用户通过通知点击打开应用程序时显示正确的视图。

1 个答案:

答案 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:是您需要自己编写的方法,在这里您可以决定要做什么。