2013-07-12 25 views
5

アプリでプッシュ通知を設定しました。私は方法を持っています:アプリで受け取ったプッシュ通知とアプリの外部からのプッシュ通知を区別するにはどうすればよいですか?

私はアプリの外に通知の接触を区別する必要があります、単にアプリで通知を受け取る。どんな助け?背景だけでなく、フォアグラウンドでプッシュ通知を受信するための方法に続いて

+0

あなたは何をしようとしていません.. :( –

+1

アプリ外では、あなたは通知を受け取っています。その通知をクリックするとあなたのアプリが実行されます。 ? –

+0

はい、私は実際に特定のビューに行きたいと思っています – KKendall

答えて

7
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
    if (application.applicationState == UIApplicationStateActive) 
     // app was already in the foreground 
    else 
     // app was just brought from background to foreground 
    ... 
} 
+1

これは質問 –

+0

@ManuelMに答えていません。どのように質問に答えますか? –

+0

@KKendallは通知をタップしたか、このソリューションは、アプリがバックグラウンドであるかどうかを判断するだけで、通知を通じてアプリを開いたときの現在の状態がアクティブではないことがわかりますそれで、それは同じです!私はこの問題と理想的な解決方法を扱っています。 isHandlingRemoteNotification _applicationFlagsを使用してください。しかしプライベートです!畜生! –

2
- (void)applicationWillResignActive:(UIApplication *)application 
    { 
     applicationIsActive = NO; 
    } 
    - (void)applicationDidBecomeActive:(UIApplication *)application 
    { 
     applicationIsActive = YES; 
    } 

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
if (applicationIsActive) 
{ 
} 
    else 
{ 
    } 
} 
2

使用。 Backgoundでは、デフォルトのアラート/バナーを表示できますが、フォアグラウンドではアラート/バナーを表示できませんが、UIAlertViewで管理できます。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
    if (application.applicationState == UIApplicationStateBackground | application.applicationState == UIApplicationStateInactive) 
    { 
     // Application is in Background 
    } 
    else 
    { 
     // Application is in Foreground 
    } 
} 

It's Works Fine ... !!!

関連する問題