4

このトピックが議論されていることは知っていますが、相反する茎が見られ続け、ますます迷子になっています.

アプリがバックグラウンドにあり、プッシュ通知を受信したときに何が起こるかを知りたいだけです。

そんなこと知ってる:

フォアグラウンドでは、application:didReceiveRemoteNotification: が呼び出され、アラート、バッジ、またはサウンドはありません。

起動されていない間 - アラート、バッジ、および/またはサウンドが表示/再生され、ユーザーが通知の「表示/開く」(アクション) ボタンをタップすると、アプリが起動され、 application:didFinishLaunchingWithOptions: が呼び出され、通知ペイロードがユーザーが通知を閉じてアプリ アイコンをタップすると、同じメソッドが呼び出されますが、通知に関する情報は渡されません。

バックグラウンドで - これが私が混乱している場所です。バックグラウンドで実行されているか中断されているかが違いを生むかどうか、どのような場合にどのメソッドが呼び出されるか、アラート、バッジ、および/またはサウンドが表示/再生されるかどうかを知る必要があります。

ありがとう。

4

1 に答える 1

5

アプリが既にバックグラウンドで実行されている場合にプッシュ通知ビューに応答する方法に対するこの回答が役立つ場合があります。

基本的に、アプリケーションがフォアグラウンドに移動されたかどうかは、次のコードを使用して application:didReceiveRemoteNotification: で確認できます。

- (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
    ...
}
于 2011-10-17T23:54:38.790 に答える