1

である場合にのみ、私はマニフェスト以下き呼ばonMessageReceived。それ以外の場合は呼び出されず、通知は表示されません。アプリを開くと、すべての通知が一度に表示されます。GcmListenerServiceは、アプリがフォアグラウンド

GcmListenereServiceロックされている場合はデバイスをスリープさせて作業しますか?これを解決するには?

答えて

1

グーグルでこのスレッドを見つけることができました。あなたの懸念とほぼ同じであるこのスレッドは、onMessageReceived() is only called when app is on foregroundとほぼ同じです。その理由は、通知メッセージのみが送信されたためです。スレッドに含まれる説明に従って:

通知メッセージ - これらは、アプリケーションによるNOの中間処理と通知を生成することを意図しています。 アプリが実行されている場合にのみ、OnMessageReceivedが表示されます。

データメッセージ - これらは黙っアプリのメッセージングサービスにデータを渡すことを意図しています。 アプリがバックグラウンドであっても、onMessageReceivedをヒットします。サービスは、通常のシステム通知APIを使用して通知を生成するか、メッセージをサイレントに処理するかを選択できます。

私はデータメッセージにキックするのための行動を期待しながら、あなたは通知メッセージを送っていると思います。

ここもgithubのスレッドで言及SO post of Shiprackです。お役に立てれば。がんばろう。

関連する問題