4

アプリがバックグラウンドにあるときに、プッシュ通知のカスタム ペイロードを取得する方法を教えてください。

アプリがバックグラウンドにあり、プッシュ通知を受け取り、ユーザーがアプリの [表示] をタップすると、アプリケーションが起動され、application:didFinishLaunchingWithOptions:呼び出されます。この場合、辞書UIApplicationLaunchOptionsRemoteNotificationKeyからカスタム通知ペイロードにアクセスできます 。userInfo

アプリがバックグラウンドにあり、プッシュ通知を受け取り、ユーザーがアプリ アイコンをタップすると、アプリケーションがフォアグラウンドに移動します。

その場合、applicationDidEnterForeground:が呼び出されるだけで、プッシュ通知のペイロードにアクセスする方法はありません。

私の要件は、バッジのみに登録することです。アラートがないため、ユーザーがバックグラウンドで通知を受け取ったときにアプリを起動するための「表示」ボタンはありません。ユーザーが通知を受け取り、アプリケーションがバックグラウンドにある場合、ユーザーはアプリ アイコンapplicationDidEnterForeground:をタップして呼び出します。したがって、通知ペイロードを取得できる場所からlaunchOptionsディクショナリまたはディクショナリにアクセスする方法はありません。userInfo

ここで何か不足していますか?

4

1 に答える 1

7

application:didReceiveRemoteNotification:アプリがバックグラウンドで実行されている場合、ユーザーがステータスバーのドロップダウンで通知をタップすると呼び出されます。回答で参照したリンクは、その使用方法を説明しています。

編集:申し訳ありませんが、あなたの質問を誤解しました(バッジのみを行っていたことを見逃していました). お気軽に私に反対票を投じてください:(

于 2012-01-26T22:38:19.963 に答える