2

私はFirebase Cloud Messagingを使用しており、自分自身のクラスがFirebaseMessagingServiceに拡張されています。
私の活動の順序は以下の通りです:
SplashActivity - >MainActivity - >DetailsActivityです。アプリがMainActivityにあり、Firebaseコンソールを使用してメッセージを送信すると、すべてが正常に開くので、Dialogが開きたいと思っています。私がMainActivityにいるときにも、私はDetailsActivityを開こうとしているメッセージを送信しても問題ありません。

しかしアプリがバックグラウンドで動作していると私はメッセージを送信するとき、Notificationは、意図したとおりに表示されていないと私はそれをクリックしたときには、定義されたIntentPendingIntentMainActivityで使用して開くことも関わらずSplashActivityが最初に開きます。私はこれらの2つの問題についてどうやって行くことができますか?

私のカスタムFirebaseMessagingServiceクラスでは、次のフラグIntent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOPと私のPendingIntentに次のフラグPendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOTを持つようにインテントを定義しましたが、それでも機能しません。あなたが必要なものをセットアップをすることができますので、この方法があなたのFirebaseMessagingServiseをonMessageReceived場合通知が正しいアクティビティを開きません

答えて

1

チェックが正しく、バックグラウンドで呼ばれています。

私はあなたのタイプの通知を送信する場合、メソッドOnMessageReceivedがバックグラウンドで呼び出されていないとfirebaseハンドルが代わりにあなたの通知をプッシュしているため、代わりに通知データメッセージタイプを送信する必要がありました。 にご相談くださいタイプの通知とデータメッセージを組み合わせることはできません。

あなたはここでアプリのみフォアグラウンドでバックグラウンドで動作しているときonMessageReceivedが呼び出されないhttps://firebase.google.com/docs/cloud-messaging/concept-options

+0

を見つけることができ、データ・メッセージの詳細については、どのようにuが、それがバックグラウンドで呼ばれるのですか? – Manny265

+0

通知の代わりにデータメッセージを送信する必要があります。私が答えてあなたに送ったリンクで見つけられるこれら二つのタイプの違い。まもなく、** data ** – Seid

+0

にjson ** notification **パラメータの名前を変更する必要があると言いました。これは完全に厄介です。ありがとう – Manny265

関連する問題