[解決済み】アプリがバックグラウンドにあるとき、Firebase onMessageReceivedが呼ばれない
2022-03-31 07:47:32
質問
Firebaseを使用して、アプリがバックグラウンドにあるときに、サーバーからアプリに通知を送るテストをしています。通知は正常に送信され、デバイスの通知センターにも表示されますが、通知が表示されても、それをクリックしても、FCMessagingServiceのonMessageReceivedメソッドが呼び出されることはありません。
アプリがフォアグラウンドにあるときにテストしたところ、onMessageReceivedメソッドが呼び出され、すべてうまくいきました。問題は、アプリがバックグラウンドで動作しているときに発生します。
これは意図した動作なのでしょうか、それとも修正する方法があるのでしょうか?
以下は、私のFBMessagingServiceです。
import android.util.Log;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
public class FBMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.i("PVL", "MESSAGE RECEIVED!!");
if (remoteMessage.getNotification().getBody() != null) {
Log.i("PVL", "RECEIVED MESSAGE: " + remoteMessage.getNotification().getBody());
} else {
Log.i("PVL", "RECEIVED MESSAGE: " + remoteMessage.getData().get("message"));
}
}
}
解決方法は?
これは意図したとおりに動作しています。通知メッセージは、アプリがフォアグラウンドにあるときだけ、onMessageReceivedコールバックに配信されます。アプリがバックグラウンドにあるか閉じている場合、通知メッセージは通知センターに表示され、すべての そのメッセージのデータはインテント をタップした結果、起動します。
ユーザーによって通知がタップされたときに起動されるべきインテントを示すためにclick_actionを指定することができます。click_actionが指定されていない場合は、メインのアクティビティが使用されます。
インテントが起動されると
getIntent().getExtras();
を使用して、通知メッセージと一緒に送信されたすべてのデータを含むSetを取得します。
通知メッセージの詳細については ドキュメント .
関連
-
[解決済み】メソッド 'findViewById(int)' を解決できない。)
-
[解決済み】Android Intent コンストラクタを解決できない
-
[解決済み】Androidエミュレータのエラーメッセージ。"PANIC: Missing emulator engine program for 'x86' CPUS." (パニック: エミュレータ・エンジン・プログラムがありません)
-
[解決済み] [Solved] Unsupported method: ベースコンフィグ.getApplicationIdSuffix()
-
[解決済み】Android Studioでマニフェストのマージに失敗し、複数のエラーが発生した。
-
[解決済み】起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりませんでした
-
[解決済み] Mockito lenient() を使用する場合
-
[解決済み] エラー - Android リソースのリンクに失敗しました (AAPT2 27.0.3 Daemon #0)
-
[解決済み] android.intent.action.MAINの意味は何ですか?
-
[解決済み] Firebaseでアプリがバックグラウンドにあるときの通知を処理する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android TextView : "setTextで表示されたテキストを連結しない" について
-
[解決済み】Edit Textのandroid:ems属性とは何ですか?[重複しています]
-
[解決済み] 現在のテーマでスタイル 'coordinatorLayoutStyle' を見つけることができませんでした。
-
[解決済み】Android Studioの初回起動。Android SDKアドオンリストにアクセスできない
-
[解決済み】Android Studio。adbバージョン」の結果を取得できない
-
[解決済み】フラグメントMyFragmentがアクティビティにアタッチされない。
-
[解決済み] エラー - Android リソースのリンクに失敗しました (AAPT2 27.0.3 Daemon #0)
-
[解決済み] AndroidのADBデバイスが不正に
-
[解決済み] Firebaseでアプリがバックグラウンドにあるときの通知を処理する方法
-
[解決済み】Firebase Console を使用せずに Firebase Cloud Messaging 通知を送信するには?