2012-02-08 6 views
0

iOS 5では、プッシュ通知は数秒後にバナーとして表示され、消えます。 私はdidReceiveRemoteNotificationは、ユーザーがバナーをタップするときに呼び出されることを理解します。iOS 5バナープッシュ通知が消える、ユーザーがアプリアイコンをタップしてアプリを起動する

私の質問は、バナーが消えて、ユーザーがアプリにバッジ番号があるとわかったら、アプリアイコンをタップしてアプリを起動します。今、アプリがバックグラウンドで実行されている場合、アプリがフォアグラウンドに持ち込まれ、通知があったことを確認して、必要な処理を行うにはどうすればよいですか?

通知の目的は、基本的に、ユーザーにアプリのコンテンツの更新があったことを知らせ、最新のコンテンツを取得するためにアプリを実行するよう促します。私のアプリは、起動時に最新の内容をチェックするだけで、定期的に更新をチェックしません。

答えて

0

この質問は少し古いですが、とにかく私がここで見つけたものをポップします。

アプリデリゲートに実装する必要があるメソッドは、アプリがリモート通知から起動されたかどうか(アプリがデバイスで実行されていないとき)、または実行中にリモート通知を受信したかどうかを確認する背景または前景)。

まずアプリの委任にすでに存在する方法である:、これはリモート通知から起動されたかどうかを確認するには

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

これに似たいくつかのコードしている:

// Check to see if launched from notification 
if (launchOptions != nil) 
{ 
    NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
    if (dictionary != nil) 
    { 
     NSLog(@"Launched from push notification: %@", dictionary); 
     // DO SOMETHING HERE 
    } 
} 

を実装する必要があるもう1つの方法は、アプリケーションが実行されているときのアプリケーションの場合です。

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
    NSLog(@"Received notification: %@", userInfo); 
} 

あなたからの通知をどのように処理するかはあなた次第ですが、それはあなたのアプリがそれを知っている方法です!

この2番目の方法では、渡されたアプリケーションのUIApplicationStateを調べて、フォアグラウンドかバックグラウンドかを調べることができます。

関連する問題